当地图中心太远时,Mapbox标记会消失

时间:2016-07-29 15:14:17

标签: javascript leaflet mapbox

我有一个带有标记的Mapbox地图(我也使用MarkerCluster)。我在JavaScript中获取这些HTML标记以确定它们的位置(来自视口,而不是它们的坐标),因此我可以添加一些不在视口中的标记指示器。但我意识到,当我离标记太远时(例如当缩放或拖动地图时),标记就不会出现在HTML中!这似乎是正常的行为,因为我可以在官方的例子中看到同样的事情发生。

所以,问题是:有没有办法阻止这种行为并且总是在HTML中有标记?

这是JavaScript :(我使用mapbox.js和leaflet.markercluster)

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.pratyuvamgmail.wilm">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
    </application>

</manifest>

提前致谢

1 个答案:

答案 0 :(得分:2)

你猜对了,Leaflet.markercluster插件默认删除了远离你的视口的标记和簇。

您可以在创建标记群集组时使用removeOutsideVisibleBounds选项来禁用此行为。

请注意,在高缩放时,这可能会降低浏览器的性能,因为您在地图上会有足够的标记,这是Leaflet.markercluster试图避免的事情之一。