Dur*_*rga 11 android google-maps-markers google-maps-android-api-2
我想markers在地图中刷新,我的地图包含当前位置的不同位置.如果服务器端添加任何位置,则在我的地图中添加该标记.
如何在没有加载图的情况下刷新标记?
我的代码
if(arl.size()!=0){
for(int j = 0;j<arl.size();j++){
String lat =arl.get(j).get("lat").toString();
String lng =arl.get(j).get("lng").toString();
if ( !lat.trim().equals("") && !lng.trim().equals("") ) {
double Hlat = Double.parseDouble(lat.trim());
double Hlong= Double.parseDouble(lng.trim());
LatLng dabaseLocations =new LatLng(Hlat, Hlong);
Marker HYD = _googleMap.addMarker(new MarkerOptions()
.position(dabaseLocations)
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE))
.flat(true));
// Show current location with database locations
_googleMap.clear();
_googleMap.moveCamera(CameraUpdateFactory.newLatLng(myPosition));
Marker m=_googleMap.addMarker(new
MarkerOptions().position(myPosition).title("start"));
// m.setPosition(new LatLng(5,5));
}
}
}
else{
// Show only Current Location
_googleMap.moveCamera(CameraUpdateFactory.newLatLng(myPosition));
_googleMap.addMarker(new
MarkerOptions().position(myPosition).title("start"));
}
Run Code Online (Sandbox Code Playgroud)
保存要更新的所有标记的实例,然后在位置更新时删除标记
private Marker mCustomerMarker;
if (mCustomerMarker != null) {
mCustomerMarker.remove();
}
Run Code Online (Sandbox Code Playgroud)
并重新绘制它们
LatLng mCustomerLatLng = new LatLng(latitude, longitude);
MarkerOptions options = new MarkerOptions();
options.position(mCustomerLatLng);
options.title(getResources().getString(R.string.pickup_marker));
options.icon(BitmapDescriptorFactory
.fromResource(R.drawable.green_pin));
Run Code Online (Sandbox Code Playgroud)
在 Google 地图中添加标记
mCustomerMarker = googleMap.addMarker(options);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10872 次 |
| 最近记录: |