Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google maps 谷歌地图多段线上的自定义图标图像_Google Maps_Google Maps Api 3 - Fatal编程技术网

Google maps 谷歌地图多段线上的自定义图标图像

Google maps 谷歌地图多段线上的自定义图标图像,google-maps,google-maps-api-3,Google Maps,Google Maps Api 3,需要添加自定义图标图像谷歌地图多边形线,我试图使用添加自定义图标像标记它不工作。 这是我尝试过但不起作用的代码 var lineSymbol = { anchor: new google.maps.Point(0, 32), origin: new google.maps.Point(0, 0), scaledSize: new google.maps.Size(32, 32), size: new google.maps.Size(64, 64), ur

需要添加自定义图标图像谷歌地图多边形线,我试图使用添加自定义图标像标记它不工作。 这是我尝试过但不起作用的代码

var lineSymbol = {
    anchor: new google.maps.Point(0, 32),
    origin: new google.maps.Point(0, 0),
    scaledSize: new google.maps.Size(32, 32),
    size: new google.maps.Size(64, 64),
    url: "http://www.developerdrive.com/wp-content/uploads/2013/08/ddrive.png"
  };
  var Line = new google.maps.Polyline({
    path: path,
    geodesic: true,
    strokeColor: "#35495e",
    strokeOpacity: 0.8,
    strokeWeight: 4,
    icons: [{
            icon: lineSymbol,
            offset: '100%'
          }],
  });

该方法仅适用于SVG符号。在这种情况下,只需在路径的末尾使用
google.maps.Marker

var lineSymbol = new google.maps.Marker({
    icon: {
      anchor: new google.maps.Point(0, 32),
      origin: new google.maps.Point(0, 0),
      scaledSize: new google.maps.Size(32, 32),
      size: new google.maps.Size(64, 64),
      url: "http://www.developerdrive.com/wp-content/uploads/2013/08/ddrive.png"
    },
    position: path[path.length-1],
    map: map
});

代码片段:

函数initMap(){
var map=new google.maps.map(document.getElementById('map'){
缩放:3,
中心:{
纬度:0,
液化天然气:-180
},
mapTypeId:'地形'
});
var path=[{lat:37.772,lng:-122.214},
{lat:21.291,lng:-157.821},
{lat:-18.142,lng:178.431},
{lat:-27.467,液化天然气:153.027}
];
var lineSymbol=new google.maps.Marker({
图标:{
锚点:新的google.maps.Point(16,16),//多段线末端的中心图标
来源:新google.maps.Point(0,0),
scaledSize:新的google.maps.Size(32,32),
大小:新google.maps.size(64,64),
url:“https://i.stack.imgur.com/7Fzjf.png"
},
位置:路径[path.length-1],
地图:地图
});
var Line=新的google.maps.Polyline({
路径:路径,
测地线:正确,
strokeColor:35495e“,
笔划不透明度:0.8,
冲程重量:4,
图标:[{
图标:lineSymbol,
抵销:“100%”
}],
});
Line.setMap(map);
var bounds=new google.maps.LatLngBounds();
对于(var i=0;i
html,
身体,
#地图{
身高:100%;
保证金:0;
填充:0;
}


使用这种方法,标记仅与多段线分离,由于偏移量的存在,因此无法移动标记。正如我在回答中所说:“该方法仅适用于SVG符号。在这种情况下,只需在路径的末尾使用google.maps.Marker。”(这种情况下,图标的偏移量为100%)