使用图标href标记地标时,Bing Maps地标漂移

时间:2019-03-25 09:49:21

标签: icons bing-maps kml

当我缩小地图时,通过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>

1 个答案:

答案 0 :(得分:1)

Bing Maps期望的锚点格式以像素为单位,因此您可以将hotSpot中的IconStyle更新为:

<hotSpot x="32" y="32" xunits="pixels" yunits="pixels" />

默认情况下,必应地图上的自定义图钉固定在底部中心位置,这就是观察到“移动”的原因。