聚类标记显示不准确
cluster markers displaying inaccurately
我已经尝试在 Google Developers toutorial but my markers are displaying extremely inaccurately compared to just using googleMap.addMarker();
(example) 之后实现集群管理器。
Here is an image comparison of the two
我想这与 addClusterPoints()
中的 offset
有关,但是当我更改除数 (60d
) 时,唯一的变化是点分布的距离但仍然是不正确的位置。 60d
的 I've tried changing the value 并且我发现 <60d
它们分布更广,而 >60d
它们分布更少。
谁能解释一下 offset
在做什么以及如何让点数准确显示?
private void addClusterPoints(){
List<LatLng> locations= new ArrayList<>(getLatLongList());
for(int i=0; i < locations.size(); i++){
double offset = i /60d;
latLng = locations.get(i);
double lat = latLng.latitude + offset;
double lng = latLng.longitude + offset;
mapClusterItem offsetItem = new mapClusterItem(lat, lng, "Tile "+i, "Snippet"+i);
clusterManager.addItem(offsetItem);
}
}
正如 Andy 评论的那样,问题出在 offset
中。我删除了 offset
并且标记显示在它们的预期位置。
我引用的 Google Developers tutorial 有 offset
所以我认为这是过程的一部分,但事实证明它完全不相关。老实说,他们决定将其包含在教程中,我觉得很奇怪。我能想到的唯一理由就是他们为什么要这样做(因为他们没有提供)是在非常靠近的项目之间创建一些 space。
我已经尝试在 Google Developers toutorial but my markers are displaying extremely inaccurately compared to just using googleMap.addMarker();
(example) 之后实现集群管理器。
Here is an image comparison of the two
我想这与 addClusterPoints()
中的 offset
有关,但是当我更改除数 (60d
) 时,唯一的变化是点分布的距离但仍然是不正确的位置。 60d
的 I've tried changing the value 并且我发现 <60d
它们分布更广,而 >60d
它们分布更少。
谁能解释一下 offset
在做什么以及如何让点数准确显示?
private void addClusterPoints(){
List<LatLng> locations= new ArrayList<>(getLatLongList());
for(int i=0; i < locations.size(); i++){
double offset = i /60d;
latLng = locations.get(i);
double lat = latLng.latitude + offset;
double lng = latLng.longitude + offset;
mapClusterItem offsetItem = new mapClusterItem(lat, lng, "Tile "+i, "Snippet"+i);
clusterManager.addItem(offsetItem);
}
}
正如 Andy 评论的那样,问题出在 offset
中。我删除了 offset
并且标记显示在它们的预期位置。
我引用的 Google Developers tutorial 有 offset
所以我认为这是过程的一部分,但事实证明它完全不相关。老实说,他们决定将其包含在教程中,我觉得很奇怪。我能想到的唯一理由就是他们为什么要这样做(因为他们没有提供)是在非常靠近的项目之间创建一些 space。