Я предлагаю вам использовать пользовательские маркеры, здесь и здесь вы можете найти хорошо документированный API, и объясняется, как создавать маркеры с растровыми изображениями и SVG-графикой. Я предлагаю использовать обозначение пути SVG следующим образом:
var map;
var my_location = { lat: 12.97, lng: 77.59 };
icon = {
//this is a string that define a circle path
path: "M 100, 100 m -75, 0 a 75,75 0 1,0 150,0 a 75,75 0 1,0 -150,0",
//this is a string that defines a hex color
fillColor: '#FF0000',
//this is a float that defines the opacity value from 0.0 to 1
fillOpacity: .6,
//this is a couple that defines a center point for the SVG
anchor: new google.maps.Point(0,0),
//this is a integer that defines the scale factor
};
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
zoom: 16,
center: new google.maps.LatLng(-33.91722, 151.23064),
mapTypeId: 'roadmap'
});
function makeMarkerWithImageCircle(text,location){
var iconUrl = 'https://your_circl_image_url.png';
var marker = new google.maps.Marker({
position: location,
label: text,
icon: iconUrl,
map: map
});
}
function makeMarkerWithSVGCircle(text,location){
var marker = new google.maps.Marker({
position: location,
label: text,
draggable: false,
icon: icon,
map: map
});
}
//method to generate marker with custom image url and text
makeMarkerWithImageCircle("text",my_location);
//method to generate marker with custom svg and text
makeMarkerWithSVGCircle("text",my_location);
Я полагаю, у вас есть initMap()
метод, в котором вы инициализируете экземпляр Map
Затем вы можете создать свою пользовательскую функцию для создания пользовательского маркера на карте map
с SVG в качестве свойства значка.
Я не запускал этот скрипт, просто написал, чтобы объяснить, как вы можете это сделать.
Хорошего дня, и я надеюсь, что это было полезно (: