Anda dapat secara dinamis meminta gambar ikon dari api Google charts dengan url:
http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=%E2%80%A2|FE7569
Yang terlihat seperti ini: gambar adalah 21x34 piksel dan ujung pin berada pada posisi (10, 34)
Dan Anda juga ingin gambar bayangan yang terpisah (sehingga tidak tumpang tindih dengan ikon terdekat):
http://chart.apis.google.com/chart?chst=d_map_pin_shadow
Yang terlihat seperti ini: gambar adalah 40x37 piksel dan ujung pin berada pada posisi (12, 35)
Saat Anda membuat MarkerImage , Anda perlu mengatur ukuran dan titik jangkar yang sesuai:
var pinColor = "FE7569";
var pinImage = new google.maps.MarkerImage("http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=%E2%80%A2|" + pinColor,
new google.maps.Size(21, 34),
new google.maps.Point(0,0),
new google.maps.Point(10, 34));
var pinShadow = new google.maps.MarkerImage("http://chart.apis.google.com/chart?chst=d_map_pin_shadow",
new google.maps.Size(40, 37),
new google.maps.Point(0, 0),
new google.maps.Point(12, 35));
Anda kemudian dapat menambahkan penanda ke peta Anda dengan:
var marker = new google.maps.Marker({
position: new google.maps.LatLng(0,0),
map: map,
icon: pinImage,
shadow: pinShadow
});
Cukup ganti "FE7569" dengan kode warna yang Anda cari. Misalnya:
Kredit karena Jack B Nimble untuk inspirasi;)
Jika Anda menggunakan Google Maps API v3 Anda dapat menggunakan
setIcon
misAtau sebagai bagian dari marker init:
Warna lain:
Gunakan potongan kode berikut untuk memperbarui penanda default dengan warna berbeda.
sumber
Berikut adalah solusi yang bagus menggunakan Gooogle Maps API itu sendiri. Tidak ada layanan eksternal, tidak ada perpustakaan tambahan. Dan itu memungkinkan bentuk kustom dan beberapa warna dan gaya. Solusinya menggunakan penanda vektor, yang disebut api oleh simbol Google .
Selain beberapa simbol terbatas dan terbatas, Anda dapat membuat bentuk apa pun dengan warna apa pun dengan menetapkan string jalur SVG ( Spec ).
Untuk menggunakannya, alih-alih mengatur opsi penanda 'ikon' ke url gambar, Anda mengaturnya ke kamus yang berisi opsi simbol. Sebagai contoh, saya berhasil membuat satu simbol yang sangat mirip dengan penanda standar:
Jika Anda berhati-hati untuk menjaga titik kunci bentuk 0,0 Anda menghindari harus menentukan parameter penanda ikon pusat. Contoh jalur lain, penanda yang sama tanpa titik:
Dan di sini Anda memiliki bendera berwarna yang sangat sederhana dan jelek:
Anda juga dapat membuat jalur menggunakan alat visual seperti Inkscape (GNU-GPL, multiplatform). Beberapa petunjuk bermanfaat:
sumber
Yah, hal terdekat yang bisa saya dapatkan dengan StyledMarker adalah ini .
Peluru di tengah tidak cukup besar seperti yang standar sekalipun. Kelas StyledMarker cukup membuat url ini dan meminta google api untuk membuat marker .
Dari kelas gunakan contoh gunakan "% E2% 80% A2" sebagai teks Anda, seperti pada:
Anda perlu memodifikasi StyledMarker.js untuk mengomentari baris:
karena ini akan memangkas string teks menjadi 2 karakter.
Atau Anda dapat membuat gambar marker kustom berdasarkan gambar default dengan warna yang Anda inginkan dan mengganti marker default dengan kode seperti ini:
sumber
Saya telah sedikit memperluas jawaban vokimon , membuatnya sedikit lebih nyaman untuk mengubah properti lainnya juga.
Pemakaian:
Atau ketika mendefinisikan penanda baru:
sumber
Hai, Anda dapat menggunakan ikon sebagai SVG dan mengatur warna. Lihat kode ini
sumber
sejak versi 3.11 dari google maps API,
Icon
objek menggantikanMarkerImage
. Ikon mendukung parameter yang sama dengan MarkerImage. Saya bahkan merasa itu sedikit lebih lurus ke depan.Contohnya bisa seperti ini:
untuk informasi lebih lanjut, periksa situs ini
sumber
sumber
Seperti yang telah disebutkan orang lain, jawaban vokimon sangat bagus tetapi sayangnya Google Maps agak lambat ketika ada banyak penanda berbasis SymbolPath / SVG sekaligus.
Sepertinya menggunakan Data URI jauh lebih cepat, kira-kira setara dengan PNG.
Juga, karena ini adalah dokumen SVG lengkap, dimungkinkan untuk menggunakan lingkaran penuh yang tepat untuk titik tersebut. Jalur dimodifikasi sehingga tidak lagi diimbangi ke kiri atas, sehingga jangkar harus ditentukan.
Berikut adalah versi yang dimodifikasi yang menghasilkan penanda ini:
Pemakaian:
Downside, seperti gambar PNG, adalah seluruh persegi panjang dapat diklik. Secara teori, tidak terlalu sulit untuk melacak jalur SVG dan menghasilkan poligon MarkerShape .
sumber
Anda dapat menggunakan kode ini berfungsi dengan baik.
sumber
Gabungkan penanda berbasis simbol yang jalurnya menggambar garis besar, dengan karakter '●' untuk tengah. Anda dapat mengganti titik dengan teks lain ('A', 'B', dll.) Seperti yang diinginkan.
Fungsi ini mengembalikan opsi untuk marker dengan teks yang diberikan (jika ada), warna teks, dan mengisi warna. Ini menggunakan warna teks untuk garis besar.
sumber
Saya mencoba dua cara untuk membuat penanda peta google khusus, kode jalankan ini menggunakan canvg.js adalah kompatibilitas terbaik untuk browser. Kode Commented-Out tidak mendukung IE11 saat ini.
sumber
Saya mencoba untuk waktu yang lama untuk meningkatkan marker yang ditarik vokimon dan membuatnya lebih mirip dengan Google Maps satu (dan cukup banyak berhasil). Ini kode yang saya dapat:
Saya juga diskalakan dengan 0,8.
sumber
ubah ke chart.googleapis.com untuk jalur, jika tidak, SSL tidak akan berfungsi
sumber
Menggunakan swift dan Google Maps Api v3, ini adalah cara termudah yang saya bisa lakukan:
semoga membantu seseorang.
sumber
Ini adalah marker Edaran khusus
small_red:
small_yellow:
small_green:
small_blue:
small_purple:
Mereka adalah gambar 9x9 png.
Setelah mereka berada di halaman Anda, Anda bisa menariknya dan Anda akan memiliki file png yang sebenarnya.
sumber
Anda juga dapat menggunakan kode warna.
sumber
Terkadang sesuatu yang sangat sederhana, bisa dijawab kompleks. Saya tidak mengatakan bahwa salah satu dari jawaban di atas salah, tetapi saya hanya akan menerapkan, bahwa itu dapat dilakukan sesederhana ini:
Saya tahu pertanyaan ini sudah lama, tetapi jika ada orang yang hanya ingin mengubah warna pin atau marker, lihat dokumentasi: https://developers.google.com/maps/documentation/android-sdk/marker
ketika Anda menambahkan penanda Anda cukup atur properti ikon:
Ada 10 warna default untuk dipilih . Jika itu tidak cukup (solusi sederhana) maka saya mungkin akan mencari yang lebih kompleks yang diberikan dalam jawaban lain, memenuhi kebutuhan yang lebih kompleks.
ps: Saya telah menulis sesuatu yang serupa di jawaban lain dan oleh karena itu saya harus merujuk ke jawaban itu, tetapi terakhir kali saya melakukan itu, saya diminta untuk mengirim jawaban karena sangat pendek (seperti yang ini) ..
sumber