android使用百度地图标多个点。代码应该没问题,真机模拟,第一次打开app只有图没有mark,手机切到主界面,此时app应该是进入后台,然后再点进app,mark就能显示出来了。总之第一次打开程序mark就是出不来,必须切到后台再打开才能正常显示标记得mark!
baiduMap = mapView.getMap();
mSearch = GeoCoder.newInstance();
mSearch.setOnGetGeoCodeResultListener(new OnGetGeoCoderResultListener(){
@Override
public void onGetGeoCodeResult(GeoCodeResult geoCodeResult) {
if (geoCodeResult == null || geoCodeResult.error != SearchResult.ERRORNO.NO_ERROR) {
//Toast.makeText(item.this, "抱歉,没有找到结果", Toast.LENGTH_SHORT).show();
return;
}
baiduMap.addOverlay(new MarkerOptions().position(geoCodeResult.getLocation()).icon(BitmapDescriptorFactory.fromResource(R.drawable.dingwei)));
lat=geoCodeResult.getLocation().latitude;
lon=geoCodeResult.getLocation().longitude;
}
@Override
public void onGetReverseGeoCodeResult(ReverseGeoCodeResult reverseGeoCodeResult) {
if (reverseGeoCodeResult == null && reverseGeoCodeResult.error != SearchResult.ERRORNO.NO_ERROR) {
Toast.makeText(item.this, "抱歉,记录的地址信息有误", Toast.LENGTH_SHORT).show();
return;
}
baiduMap.clear();
baiduMap.addOverlay(new MarkerOptions().position(reverseGeoCodeResult.getLocation()).icon(BitmapDescriptorFactory.fromResource(R.drawable.dingwei)));
baiduMap.setMapStatus(MapStatusUpdateFactory.newLatLng(reverseGeoCodeResult.getLocation()));
Toast.makeText(item.this, reverseGeoCodeResult.getAddress(), Toast.LENGTH_SHORT).show();
}
});
for(int i=0;i<dizhi.length;i++){
if (dizhi[i]!=null)
mSearch.geocode(new GeoCodeOption()
.city("南充市")
.address(dizhi[i]));}
LatLng la=new LatLng(30.832508,106.097219);
baiduMap.animateMapStatus(newMapStatus(new MapStatus.Builder().target(la).zoom(14).build()));
运行正常,结果前面说了
我是没办法了
怎么才能第一次进入app就可以显示出mark