当我缩小时,我的地标图标,通过谷歌地图文件中的HREF使用,似乎“漂移”。在这个例子中,地标可以一直到挪威。
似乎Bing地图V8不支持kml,据说可以帮助图标了解其中心位置,以便在缩小时保持锚定在地图中。此外,地标忽略了颜色样式。如果我删除标签之间的所有内容并使用Bing中的默认地标,则颜色和缩放功能正常。你们中的任何人都知道如何让这个Google图标通过Bingmaps中的KML保持锚定状态吗?我目前的解决方法是不使用Google图标,而是使用默认的Bing地图图标,该图标有效。使用代码在bingmaps对象上执行此操作此时需要进行过多的重构。
你可以在我的代码中使用Bing“拖放”来查看问题 - 只需将下面的KML粘贴到“XML Panel”中,然后单击“Read XML”即可。然后缩小以查看地标去旅行。如果删除整个节点,则缩放和颜色有效(但使用默认图标)。 https://bingmapsv8samples.azurewebsites.net/#GeoXml%20-%20Drag%20and%20Drop
<?xml version="1.0" encoding="utf-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Style id="model_normal">
<IconStyle>
<color>FF00FF00</color>
<scale>1</scale>
<Icon>
<href>http://maps.google.com/mapfiles/kml/shapes/shaded_dot.png</href>
</Icon>
<hotSpot x="0.5" y="0.5" xunits="fraction" yunits="fraction" />
</IconStyle>
<LabelStyle>
<color>0000FF00</color>
</LabelStyle>
<LineStyle>
<color>7F00FF00</color>
<width>3</width>
</LineStyle>
<PolyStyle>
<fill>1</fill>
<color>7F00FF00</color>
</PolyStyle>
</Style>
<Placemark>
<name>Example placemark</name>
<description></description>
<visibility>1</visibility>
<styleUrl>#model_normal</styleUrl>
<MultiGeometry>
<Point>
<coordinates>7.003930,53.361905</coordinates>
</Point>
</MultiGeometry>
</Placemark>
</kml>
Bing Maps期望的锚格式以像素为单位,因此您可以将hotSpot
中的IconStyle
更新为:
<hotSpot x="32" y="32" xunits="pixels" yunits="pixels" />
默认情况下,Bing地图上的自定义图钉固定在底部中心 - 这就是观察“移位”的原因。