我正在实现一个基于Web的JS here.com应用程序,该应用程序将需要重叠的图钉(许多位置完全相同)。是否有任何类似于该Google Maps https://github.com/jawj/OverlappingMarkerSpiderfier的插件或解决该问题的示例。
我经过漫长而艰苦的搜索,但找不到任何地方可以解决此问题。
我只需要某种方式使重叠的标记变得整洁,以允许所有标记上发生触摸事件。任何帮助将不胜感激。
答案 0 :(得分:0)
有关如何在几乎同一点上具有多个标记的信息,请参考https://developer.here.com/api-explorer/maps-js/v3.0/markers/ordering-overlapping-markers。
SELECT * from m_details WHERE member_id=101 GROUP by member_id ORDER BY date_of_added DESC LIMIT 1;
function orderMarkers() {
var zIndex = 1,
// create a set of markers
marker = new mapsjs.map.Marker(
{lat: 52.508249, lng: 13.338931}
),
marker2 = new mapsjs.map.Marker(
{lat: 52.506682, lng: 13.332107}
),
marker3 = new mapsjs.map.Marker(
{lat: 52.503730, lng: 13.331678}
),
marker4 = new mapsjs.map.Marker(
{lat: 52.531, lng: 13.380}
);
// add markers to the map
map.addObjects([marker, marker2, marker3, marker4]);
map.addEventListener('tap', function (evt) {
if (evt.target instanceof mapsjs.map.Marker) {
// increase z-index of the marker that was tapped
evt.target.setZIndex(zIndex++);
}
});
}
答案 1 :(得分:0)
我不知道有任何现成的解决方案,但是您可以从clustering module开始,然后从那里获取。编写一个custom theme,使点击时群集可以扩展(例如将它们排列在网格中或类似的东西上)。