我正在尝试使用 SymbolLayer 将图钉添加到 Azure 地图。但是在放大和缩小时,我的图钉在移动而不是地图。我怎样才能解决这个问题?

Im trying to add a pushpin to an Azure map using SymbolLayer. But on zooming in and out my pushpins are moving instead of the map. How can I fix this?

我正在尝试将我的应用程序从 Bing 地图迁移到 Azure 地图。 我正在使用 SymbolLayer 在我的地图上添加一些自定义图钉。 但是,当我尝试放大或缩小时,我的图钉会移位,而我的地图会保持静止。可能是什么问题?

我怀疑问题是您的图标锚点与您想要的图标图像上的点不对齐。您可以通过多种方式进行调整。

  • 使用图标选项anchor设置。适用于大多数标准图标图像。
  • 使用图标选项offset设置。适合微调。

例如,如果您想要“锚定”到地图坐标的图像点是图像的左下角,您可以执行以下操作:

var layer = new atlas.layer.SymbolLayer(datasource, null, {
    iconOptions: {
        anchor: 'bottom-left'
    }
});

这里是一个实验样本:https://azuremapscodesamples.azurewebsites.net/?sample=Symbol%20Layer%20Options

以下是有关符号图层图标选项的文档:https://docs.microsoft.com/en-us/javascript/api/azure-maps-control/atlas.iconoptions?view=azure-maps-typescript-latest