当我缩小地图时,通过Google地图文件中的HREF使用的地标图标似乎“漂移”了。在此示例中,地标可以一直延伸到挪威。
Bing maps V8似乎不支持kml,这可能可以帮助图标了解其中心位置,以便在缩小过程中保持锚定在地图中。此外,地标会忽略颜色样式。如果我删除了标签之间的所有内容,而只是使用Bing中的默认地标,则颜色和缩放功能可以正常使用。你们中有人知道通过BML中的KML使该Google图标保持锚定的方法吗?我当前的解决方法是根本不使用Google图标,而使用可以使用的默认必应地图图标。使用代码在bingmaps对象上执行此操作,此时需要进行过多的重构。
您可以在此处将Bing“拖放”与我的代码一起使用来查看问题-只需将下面的KML粘贴到“ XML面板”中,然后单击“读取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>
答案 0 :(得分:1)
Bing Maps期望的锚点格式以像素为单位,因此您可以将hotSpot
中的IconStyle
更新为:
<hotSpot x="32" y="32" xunits="pixels" yunits="pixels" />
默认情况下,必应地图上的自定义图钉固定在底部中心位置,这就是观察到“移动”的原因。