Google使用其他颜色映射v3默认标记路径

wie*_*son 12 google-maps colors google-maps-api-3 google-maps-markers

我的目标是改变漂亮的默认谷歌地图标记的颜色.因此,我正在寻找默认(红色)路径/形状.我发现这会变成颜色:

function pinSymbol(color) {
    return {
        path: '???' 
        fillColor: color,
        fillOpacity: 1,
        strokeColor: '#000',
        strokeWeight: 2,
        scale: 1
    };
}
Run Code Online (Sandbox Code Playgroud)

所以,通过调用函数,我想改变颜色(例如icon:pinSymbol("#666").但是,我不知道在哪里找到路径?我不是在寻找v2/plain标记!

新标记

//编辑:我找到了这条路径:

path: 'M 0,0 C -2,-20 -10,-22 -10,-30 A 10,10 0 1,1 10,-30 C 10,-22 2,-20 0,0 z M -2,-30 a 2,2 0 1,1 4,0 2,2 0 1,1 -4,0',
Run Code Online (Sandbox Code Playgroud)

(来自问题的答案:Google Maps API 3 - 默认(点)标记的自定义标记颜色)

如何生成平滑渐变?

geo*_*zip 5

使用您在问题中提供的路径:

function pinSymbol(color) {
    return {
        path: 'M 0,0 C -2,-20 -10,-22 -10,-30 A 10,10 0 1,1 10,-30 C 10,-22 2,-20 0,0 z',
        fillColor: color,
        fillOpacity: 1,
        strokeColor: '#000',
        strokeWeight: 1,
        scale: 1
    };
}
Run Code Online (Sandbox Code Playgroud)

概念证明小提琴

结果地图的屏幕截图

代码片段:

function pinSymbol(color) {
    return {
        path: 'M 0,0 C -2,-20 -10,-22 -10,-30 A 10,10 0 1,1 10,-30 C 10,-22 2,-20 0,0 z',
        fillColor: color,
        fillOpacity: 1,
        strokeColor: '#000',
        strokeWeight: 1,
        scale: 1
    };
}
Run Code Online (Sandbox Code Playgroud)
function pinSymbol(color) {
  return {
    path: 'M 0,0 C -2,-20 -10,-22 -10,-30 A 10,10 0 1,1 10,-30 C 10,-22 2,-20 0,0 z',
    fillColor: color,
    fillOpacity: 1,
    strokeColor: '#000',
    strokeWeight: 1,
    scale: 1
  };
}
function initialize() {
  var latlng = new google.maps.LatLng(47.605, -122.333);
  var myOptions = {
    zoom: 10,
    center: latlng,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  };
  var map = new google.maps.Map(document.getElementById("map_canvas"),
    myOptions);
  var marker = new google.maps.Marker({
    map: map,
    position: latlng,
    icon: pinSymbol('red')
  });

  var marker1 = new google.maps.Marker({
    map: map,
    position: new google.maps.LatLng(47.5, -122.0),
    icon: pinSymbol('green')
  });
  var marker2 = new google.maps.Marker({
    map: map,
    position: new google.maps.LatLng(47.6, -122.2),
    icon: pinSymbol('orange')
  });
  var marker3 = new google.maps.Marker({
    map: map,
    position: new google.maps.LatLng(47.7, -122.1),
    icon: pinSymbol('yellow')
  });
}
google.maps.event.addDomListener(window, 'load', initialize);
Run Code Online (Sandbox Code Playgroud)
html,
body,
#map_canvas {
  height: 100%;
  width: 100%;
  margin: 0px;
  padding: 0px;
}
Run Code Online (Sandbox Code Playgroud)


zta*_*tan -1

我认为你可以通过这样做来更改图标marker.setIcon('http://maps.google.com/mapfiles/ms/icons/green-dot.png')

或者您可以参考自定义标记图像文档

此外,您还可以使用路径的预定义符号。示例代码:

var marker = new google.maps.Marker({
    id: "some-id",
    icon: {
        path: google.maps.SymbolPath.FORWARD_CLOSED_ARROW,
        strokeColor: "red",
        scale: 3
    },
    map: map,
    title: "some-title",
    position: myLatlng
});
Run Code Online (Sandbox Code Playgroud)

  • 他可能知道他可以,并且他特别询问默认标记的路径。 (6认同)