HERE 地图 - 如何检测地图中心是否已从原始位置移动?
HERE maps - how to detect if center of map has moved since original location?
我们正在尝试根据 HERE 地图的中心是否移动来启用或禁用我们页面上的某些元素,因为地图最初是使用给定的中心坐标加载的。
我们可以将初始坐标存储在一些 JS 变量中,因此只需检查地图的当前中心是否与提供的坐标匹配即可。但是,仅在平移或缩放地图以便中心可能已移动后才进行检查的最有效方法是什么?到目前为止,我可以检测到地图何时被拖动,但无法检测到何时出现导致不同中心的缩放或缩放操作。
我们正在使用:
<script src="https://js.api.here.com/v3/3.0/mapsjs-core.js" type="text/javascript" charset="utf-8"></script>
<script src="https://js.api.here.com/v3/3.0/mapsjs-service.js" type="text/javascript" charset="utf-8"></script>
<script src="https://js.api.here.com/v3/3.0/mapsjs-ui.js" type="text/javascript" charset="utf-8"></script>
<script src="https://js.api.here.com/v3/3.0/mapsjs-mapevents.js" type="text/javascript" charset="utf-8"></script>
目前正在尝试:
hereMap = new H.Map(
mapContainer,
maptypes.normal.map,
{
zoom: 12,
center: initCenter
});
var mapEvents = new H.mapevents.MapEvents(hereMap);
var ui = H.ui.UI.createDefault(hereMap, maptypes);
hereMap.addEventListener('drag', function(e) {
// do stuff here
});
var behavior = new H.mapevents.Behavior(mapEvents);
但它没有按预期工作。
有什么建议吗?
请参阅以下有关 "Prefer mapviewchangeend Event to mapviewchange"
的文档
https://developer.here.com/documentation/maps/topics/best-practices.html
希望最好!
我们正在尝试根据 HERE 地图的中心是否移动来启用或禁用我们页面上的某些元素,因为地图最初是使用给定的中心坐标加载的。
我们可以将初始坐标存储在一些 JS 变量中,因此只需检查地图的当前中心是否与提供的坐标匹配即可。但是,仅在平移或缩放地图以便中心可能已移动后才进行检查的最有效方法是什么?到目前为止,我可以检测到地图何时被拖动,但无法检测到何时出现导致不同中心的缩放或缩放操作。
我们正在使用:
<script src="https://js.api.here.com/v3/3.0/mapsjs-core.js" type="text/javascript" charset="utf-8"></script>
<script src="https://js.api.here.com/v3/3.0/mapsjs-service.js" type="text/javascript" charset="utf-8"></script>
<script src="https://js.api.here.com/v3/3.0/mapsjs-ui.js" type="text/javascript" charset="utf-8"></script>
<script src="https://js.api.here.com/v3/3.0/mapsjs-mapevents.js" type="text/javascript" charset="utf-8"></script>
目前正在尝试:
hereMap = new H.Map(
mapContainer,
maptypes.normal.map,
{
zoom: 12,
center: initCenter
});
var mapEvents = new H.mapevents.MapEvents(hereMap);
var ui = H.ui.UI.createDefault(hereMap, maptypes);
hereMap.addEventListener('drag', function(e) {
// do stuff here
});
var behavior = new H.mapevents.Behavior(mapEvents);
但它没有按预期工作。
有什么建议吗?
请参阅以下有关 "Prefer mapviewchangeend Event to mapviewchange"
的文档https://developer.here.com/documentation/maps/topics/best-practices.html
希望最好!