Puede solicitar dinámicamente imágenes de icono de la API de gráficos de Google con las URL:
http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=%E2%80%A2|FE7569
Que se ve así: la imagen es de 21x34 píxeles y la punta del pin está en posición (10, 34)
Y también querrá una imagen de sombra separada (para que no se superponga con los iconos cercanos):
http://chart.apis.google.com/chart?chst=d_map_pin_shadow
Que se ve así: la imagen es de 40x37 píxeles y la punta del pin está en posición (12, 35)
Cuando construye sus MarkerImages , necesita establecer el tamaño y los puntos de anclaje en consecuencia:
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));
Luego puede agregar el marcador a su mapa con:
var marker = new google.maps.Marker({
position: new google.maps.LatLng(0,0),
map: map,
icon: pinImage,
shadow: pinShadow
});
Simplemente reemplace "FE7569" con el código de color que busca. P.ej:
Crédito debido a Jack B Nimble por la inspiración;)
Si usa Google Maps API v3, puede usar,
setIcon
por ejemplo,O como parte del marcador init:
Otros colores:
Use el siguiente código para actualizar los marcadores predeterminados con diferentes colores.
fuente
Aquí hay una buena solución usando la API de Gooogle Maps. Sin servicio externo, sin biblioteca adicional. Y permite formas personalizadas y múltiples colores y estilos. La solución utiliza marcadores vectoriales, que la API de googlemaps llama Símbolos .
Además de los pocos y limitados símbolos predefinidos, puede diseñar cualquier forma de cualquier color especificando una cadena de ruta SVG ( Spec ).
Para usarlo, en lugar de configurar la opción de marcador de 'icono' en la url de la imagen, lo configura en un diccionario que contiene las opciones de símbolos. Como ejemplo, logré crear un símbolo que es bastante similar al marcador estándar:
Si tiene cuidado de mantener el punto clave de forma en 0,0, evite tener que definir los parámetros de centrado del icono de marcador. Otro ejemplo de ruta, el mismo marcador sin el punto:
Y aquí tienes una bandera de color muy simple y fea:
También puede crear las rutas utilizando una herramienta visual como Inkscape (GNU-GPL, multiplataforma). Algunas sugerencias útiles:
fuente
Bueno, lo más cercano que he podido obtener con StyledMarker es esto .
Sin embargo, la viñeta en el medio no es tan grande como la predeterminada. La clase StyledMarker simplemente crea esta url y le pide a la API de Google que cree el marcador .
Del ejemplo de uso de la clase, use "% E2% 80% A2" como texto, como en:
Deberá modificar StyledMarker.js para comentar las líneas:
ya que esto recortará la cadena de texto a 2 caracteres.
Alternativamente, puede crear imágenes de marcador personalizadas basadas en la predeterminada con los colores que desee y anular el marcador predeterminado con un código como este:
fuente
He extendido un poco la respuesta de vokimon , haciéndolo un poco más conveniente para cambiar otras propiedades también.
Uso:
O al definir un nuevo marcador:
fuente
Hola, puedes usar el icono como SVG y establecer colores. Ver este código
fuente
desde la versión 3.11 de la API de Google Maps, el
Icon
objeto reemplazaMarkerImage
. El icono admite los mismos parámetros que MarkerImage. Incluso me pareció un poco más sencillo.Un ejemplo podría verse así:
para más información consulte este sitio
fuente
fuente
Como otros han mencionado, la respuesta de vokimon es excelente, pero desafortunadamente Google Maps es un poco lento cuando hay muchos marcadores basados en SymbolPath / SVG a la vez.
Parece que usar un URI de datos es mucho más rápido, aproximadamente a la par con PNG.
Además, dado que es un documento SVG completo, es posible usar un círculo lleno apropiado para el punto. La ruta se modifica para que ya no se desplace a la esquina superior izquierda, por lo que el ancla necesita ser definida.
Aquí hay una versión modificada que genera estos marcadores:
Uso:
La desventaja, al igual que una imagen PNG, es que se puede hacer clic en todo el rectángulo. En teoría, no es demasiado difícil rastrear la ruta SVG y generar un polígono MarkerShape .
fuente
Puede usar este código, funciona bien.
fuente
Combine un marcador basado en símbolos cuya ruta dibuje el contorno, con un carácter '●' para el centro. Puede sustituir el punto con otro texto ('A', 'B', etc.) según lo desee.
Esta función devuelve opciones para un marcador con un texto dado (si lo hay), color de texto y color de relleno. Utiliza el color del texto para el contorno.
fuente
Intento dos formas de crear el marcador de mapa de Google personalizado, este código de ejecución utilizado canvg.js es la mejor compatibilidad para el navegador. El código comentado no es compatible con IE11 actualmente.
fuente
Intenté durante mucho tiempo mejorar el marcador dibujado de vokimon y hacerlo más similar al de Google Maps (y lo logré). Este es el código que obtuve:
También lo escalé en 0.8.
fuente
cámbielo a chart.googleapis.com para la ruta, de lo contrario SSL no funcionará
fuente
Utilizando Swift y Google Maps Api v3, esta fue la forma más fácil en que pude hacerlo:
Espero que ayude a alguien.
fuente
Estos son marcadores circulares personalizados
pequeño_rojo:
pequeño_amarillo:
pequeño_verde:
pequeño_azul:
small_purple:
Son imágenes de 9x9 png.
Una vez que estén en su página, puede arrastrarlos y tendrá el archivo png real.
fuente
Puedes usar el código de color también.
fuente
A veces algo realmente simple, se puede responder complejo. No estoy diciendo que ninguna de las respuestas anteriores sea incorrecta, pero simplemente aplicaría, que se puede hacer tan simple como esto:
Sé que esta pregunta es antigua, pero si alguien solo quiere cambiar a color de marcador o marcador, consulte la documentación: https://developers.google.com/maps/documentation/android-sdk/marker
cuando agrega su marcador, simplemente establezca la propiedad de icono:
Hay 10 colores predeterminados para elegir . Si eso no es suficiente (la solución simple), entonces probablemente elegiría las respuestas más complejas dadas en las otras respuestas, para satisfacer una necesidad más compleja.
PD: escribí algo similar en otra respuesta y, por lo tanto, debería referirme a esa respuesta, pero la última vez que lo hice, me pidieron que publicara la respuesta ya que era muy corta (como esta).
fuente