java - 向 map 添加多个地理围栏

标签 java android google-maps google-maps-markers android-geofence

到目前为止,我可以借助此 tutorial 将单个地理围栏添加到 map 中。实际上,我在 map 单击事件上向 map 添加标记,使我可以在触摸时添加多个标记。我不想将地理围栏添加到我添加的所有标记中。我尝试对上述教程的特定方法进行一些更改,如

ArrayList<LatLng> locs= new ArrayList<LatLng>();
    // Create a marker for the geofence creation
private void markerForGeofence(LatLng latLng) {
    Log.i(TAG, "markerForGeofence(" + latLng + ")");
    String title = latLng.latitude + ", " + latLng.longitude;
    // Define marker options
    MarkerOptions markerOptions = new MarkerOptions()
            .position(latLng)
            .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_ORANGE))
            .title(title);
    if (map != null) {
        // Remove last geoFenceMarker
      //  if (geoFenceMarker != null)
      //      geoFenceMarker.remove();

        geoFenceMarker = map.addMarker(markerOptions);  
        gfmarkr.add(geoFenceMarker);
    }
}
...
   // Start Geofence creation process
private void startGeofence() {
    Log.i(TAG, "startGeofence()");
    if (geoFenceMarker != null) {
        for (int i = 0; i < gfmarkr.size(); i++) {
            Geofence geofence = createGeofence(locs.get(i), GEOFENCE_RADIUS);
            GeofencingRequest geofenceRequest = createGeofenceRequest(geofence);
            addGeofence(geofenceRequest);
        }
    } else {
        Log.e(TAG, "Geofence marker is null");
    }
}

简而言之,添加多个地理围栏的方法是什么。任何解决方案都会有很大帮助。谢谢。

最佳答案

已经解决了。我将 locs.get(i) 传递给负责创建特定地理围栏的所有方法,并将其用作位置的引用点。另外,我删除了这些语句

 if (geoFenceLimits != null)
    geoFenceLimits.remove();

来自 drawGeofence() 方法。

关于java - 向 map 添加多个地理围栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47100286/

相关文章:

android - 用moshi解析json

java - 如何从 LinkedList 中删除中间节点?

java - JSP 在 tomcat 上找不到类错误 org.hibernate.Session

java - 如何在onProgressChanged之外获取seekBar的实时值?

google-maps - 如何使用 Google map 几何库中的 containsLocation。

javascript - 经纬度地址 - ReactJS

android - MapFragment UI 控制按钮功能正常但不可见

Java 多线程 HTTP

java - 将字符串数组中的加密字符串写入文件

android - WebView 和 youtube 视频