有记忆功能的物标标记

hnsdk.useStoreMarker 用于在地图上创建本地记忆的标记

使用示例

关于 新增、删除、获取所有 marker 的操作示例

// 创建或读取以存在的本地存储记录
  const storeMarker = hnSdk.useStoreMarker(map, "test1");

// getMarkers获取该存储库中所有的 marker
  storeMarker.getMarkers().forEach((item) => {
    item.marker.addEventListener("click", markerClick);
  });

// add 方法创建新的 marker
  map.addEventListener("click", (e) => {
    const addMarkerRes = storeMarker.add(e.latlng);
    addMarkerRes.marker.addEventListener("click", markerClick);
  });

// del 方法删除已存在的 marker
  function markerClick(e) {
    storeMarker.del(e.target);
  }

关于更新 marker 状态的示例

  const markers = storeMarker.getMarkers();
  const marker = markers[0].marker;
  // update 方法更新指定 marker 的经纬度
  map.addEventListener("click", (e) => {
    storeMarker.update(marker, e.latlng);
  });

Creation

Creation

构造函数说明
hnsdk.useStoreMarker(Map, string) 给出一个地图实例和分组id的参数,返回该组在本地创建的标记组实例,如果传入的分组id不存在,则创建一个新的分组

Methods 方法

方法名返回值说明
add(LatLng) RuntimeMarkerStoreItem返回一个对象,包含三个属性:iconUrl、latlng、marker
del(Marker) void删除传入的 marker ,会同步更新本地的存储结果
getMarkers()RuntimeMarkerStoreItem[]函数返回一个包含所有标记的数组
update(Marker, LatLng) RuntimeMarkerStoreItem | undefined更新marker的经纬度
allUpdate()void 处理一些边界情况,主动更新所有的物标并全部添加到地图上,之前创建的物标会被销毁,加载在地图上的将会是新的 marker 实例

RuntimeMarkerStoreItem

选项类型说明
iconUrlString 自定义的图标地址,如果创建图标时设置了iconUrl则会使用该地址的图片作为标记图标
latlngLatLngmarker 当前的经纬度
markerMarker返回的 marker 实例,同 hnsdk.marker
Last Updated:
Contributors: 小小志