【发布时间】:2025-12-11 18:35:02
【问题描述】:
我正在使用 google-map 的库开发一个 Android 应用程序。
主要问题是管理(纬度,经度)坐标和整数之间的映射。
所以在 Activity 内部,我有一个名为 dict 的 HashMap<LatLng,Integer> 对象来完成这项工作。
我将dict 的内容呈现给将Marker 对象放在地图上的用户,当用户选择新标记时,我在标签中显示相关的整数。
一切正常,除了拖放功能。
GoogleMap.OnMarkerDragListener onMarkerDragListener = new
GoogleMap.OnMarkerDragListener() {
private int content;
@Override
public void onMarkerDragStart(Marker marker1) {
content = dict.remove(marker1.getPosition()); // NULL
}
...
@Override
public void onMarkerDragEnd(Marker marker2) {
dict.put(marker2.getPosition(), content);
}
};
错误出现在注释为“NULL”的行上,其中选择用于拖动的标记marker1 的位置(LatLng 对象)不是dict 映射的键。
我的印象是,当用户选择一个标记进行拖动时,系统会删除这个标记并返回一个位置略有不同的新标记。
这似乎不真实......我该如何解决这个问题?
【问题讨论】:
标签: android google-maps