Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/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地图上正确放置svg标记?_Google Maps_Svg_Google Maps Markers - Fatal编程技术网

Google maps 如何在google地图上正确放置svg标记?

Google maps 如何在google地图上正确放置svg标记?,google-maps,svg,google-maps-markers,Google Maps,Svg,Google Maps Markers,我有一个svg标记,希望通过javascript api将其放在google地图上 问题是当我缩小地图时,标记没有对齐 这是我的svg路径: M20,13.8c0,5.5-4.4,9.3-10,14.2C4.4,23.1,0,19.3,0,13.8c0,8.4,4.5,4,10,4S20,8.4,20,13.8z 根据我已经研究过的内容,我需要为标记设置一个锚点,但是我不知道如何找到这个svg路径的锚点 下面是一个工作示例:如果您知道图标的大小,那么它是可计算的。图标的路径原点是左上角,要到达底

我有一个svg标记,希望通过javascript api将其放在google地图上

问题是当我缩小地图时,标记没有对齐

这是我的svg路径:

M20,13.8c0,5.5-4.4,9.3-10,14.2C4.4,23.1,0,19.3,0,13.8c0,8.4,4.5,4,10,4S20,8.4,20,13.8z

根据我已经研究过的内容,我需要为标记设置一个锚点,但是我不知道如何找到这个svg路径的锚点


下面是一个工作示例:

如果您知道图标的大小,那么它是可计算的。图标的路径原点是左上角,要到达底部中间,请将x设置为图标宽度的1/2,y设置为图标高度。例如:

锚定|类型:点
符号相对于标记或多段线的位置。符号路径的坐标分别由锚点的x和y坐标向左和向上平移。默认情况下,符号定位在(0,0)处。位置以与符号路径相同的坐标系表示

我通常使用试错法。对于您的图标,其工作原理如下:

anchor: new google.maps.Point(10, 27)

代码片段:

函数初始化(){
var map=new google.maps.map(
document.getElementById(“地图画布”){
中心:新google.maps.LatLng(33.788303,-118.001511),
缩放:13,
mapTypeId:google.maps.mapTypeId.ROADMAP
});
新的google.maps.Marker({
地图:地图,
位置:新google.maps.LatLng(33.788303,-118.001511),
图标:{
路径:“M20,13.8c0,5.5-4.4,9.3-10,14.2C4.4,23.1,0,19.3,0,13.8c0,8.4,4.5,4,10,4S20,8.4,20,13.8z”,
填充颜色:'#1193c5',
不透明度:1,
冲程重量:1,
strokeColor:'黑色',
主持人:新谷歌地图点(10,27)
},
});
}
google.maps.event.addDomListener(窗口“加载”,初始化)
html,
身体,
#地图画布{
身高:100%;
宽度:100%;
边际:0px;
填充:0px
}

anchor: new google.maps.Point(10, 27)