Я хочу обновить позиции маркеров. В настоящее время я удаляю элемент и сразу добавляю его с новой позицией, но я не уверен, что это правильный подход. Я хотел бы сделать это, чтобы обновить эту позицию маркеров до нового значения, не удаляя/не добавляя ее обратно. Является ли это возможным?Утилита Google Maps Google - обновление положения маркера кластера
Я попытался следующим:
var cluster_item = iterator.next();
var marker = dis.cluster_renderer.getMarker(cluster_item);
marker.setPosition(new dis.maps.model.LatLng(0, 0));
.. но его как временный набор, как только я отдалять кластер и другие маркеры повторной визуализации и положение устанавливается в исходное.
Текущий код:
// Updates all items
var items = dis.cluster_manager_algorithm.getItems();
var iterator = items.iterator();
//while (iterator.hasNext()) {
if (iterator.hasNext()) {
var cluster_item = iterator.next();
dis.cluster_manager.removeItem(cluster_item);
var item = new dis.clustering.ClusterItem({
//rotation: marker.rotation,
getPosition: function() {
return new dis.maps.model.LatLng(new_position.latitude, new_position.longitude);
},
userData: {imei: "some_imei"}
});
dis.cluster_manager.addItem(item);
// update view
dis.cluster_manager.cluster();
}
Что именно вы хотите сделать? вы просто хотите изменить положение маркера в соответствии с новым lat lng? –
Да, это то, что я хочу – Starwave