onCreate
方法:
{
double[] lat = {24.8926596, 48.85837, 0};
double[] lang = {67.0835093, 2.294481, 0};
List<CustomberLatLang> list = new ArrayList<CustomberLatLang>();
CustomberLatLang datamodel = new CustomberLatLang();
for (int i = 0; i < lat.length; i++) {
datamodel.setLat(lat[i]);
datamodel.setLang(lang[i]);
list.add(datamodel);
}
insertMarkers(list);
}
insertMarkers
方法:
private void insertMarkers(List<CustomberLatLang> list) {
final LatLngBounds.Builder builder = new LatLngBounds.Builder();
for (int i = 0; i < list.size(); i++) {
final LatLng position = new LatLng(list.get(i).getLat(), list.get(i).getLang());
final MarkerOptions options = new MarkerOptions().position(position);
map.addMarker(options);
builder.include(position);
}
}
数据模型:
public class CustomberLatLang {
double lat;
double lang;
public double getLat() {
return lat;
}
public void setLat(double lat) {
this.lat = lat;
}
public double getLang() {
return lang;
}
public void setLang(double lang) {
this.lang = lang;
}
}
我正在尝试设置所有位置谷歌地图的标记。当我尝试运行我的代码时,我得到了 nullpointer exception map.addMarker(options);
最佳答案
您的 map
变量为空。尝试在使用前初始化此变量。
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
...
map = fm.getMap();
...
insertMarkers(list);
关于android - 如何在android中打印多个位置的谷歌地图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35698267/