![](/img/trans.png)
[英]How to move the marker in Google map when the latitude and longitude changes in webservices?
[英]How to get the longitude and latitude value of the marker in google map v2
我正在使用Google Map v2。 我只是在地圖上添加了一個標記。 但是我無法從標記中獲取位置。 我在Google中搜索了很多,但沒有得到正確的答案。 我只想敬酒標記的經度和緯度值。 有人可以建議我什么嗎?
我的代碼:
double mylongitudey,mylatitudey;
String latilongi;
ImageView iv;
Button manual,proceed;
GoogleMap map;
LatLng mylat ;
String latlong;
Marker mymarker,marker;
boolean markerclicked;
double mylatitudeyd,mylongitudeyd;
String addstringaa;
@Override
protected void onCreate(Bundle savedInstanceState) {
LocationManager lm;
lm= (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Toast.makeText(this,"Please select the destination by long click", Toast.LENGTH_LONG).show();
LatLng mylat;
final GoogleMap map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
map.setOnMarkerDragListener(this);
map.setTrafficEnabled(true);
map.setMyLocationEnabled(true);
map.setOnMarkerDragListener(this);
map.setOnMyLocationButtonClickListener(this);
map.animateCamera(CameraUpdateFactory.zoomTo(15));
// map.setOnMyLocationButtonClickListener(this);
map.moveCamera(CameraUpdateFactory.newLatLngZoom(mylat, 13));
map.addMarker(new MarkerOptions().position(mylat).title("You are Here"));
markerclicked=false;
//onMyLocationButtonClick();
map.setOnMapLongClickListener(new GoogleMap.OnMapLongClickListener() {
@Override
public void onMapLongClick(LatLng arg0) {
// TODO Auto-generated method stub
if(markerclicked==false)
{
mymarker = map.addMarker(new MarkerOptions().position(arg0).title("Your Destination").draggable(true));
markerclicked=true;
}else{
Toast.makeText(getApplicationContext(), "Marker Aready Set..!", Toast.LENGTH_LONG).show();
}
}
});
map.setOnMyLocationChangeListener(new GoogleMap.OnMyLocationChangeListener() {
LatLng mylatlong;
@Override
public void onMyLocationChange(Location arg0) {
// TODO Auto-generated method stub
mylongitudey = arg0.getLongitude();
mylatitudey = arg0.getLatitude();
mylatlong = new LatLng(arg0.getLatitude(), arg0.getLongitude());
//sourcepoint=String.format(" ",mylat);
marker= map.addMarker(new MarkerOptions().position(mylatlong).title("YOur Destination"));
// map.moveCamera(CameraUpdateFactory.newLatLngZoom(mylat,1));
map.moveCamera(CameraUpdateFactory.newLatLngZoom(mylatlong, 14));
}
});
調用marker.getPosition()
將返回一個LatLng
對象,該對象存儲緯度和經度。
Marker marker = <your initialization>;
LatLng latLng = marker.getPosition();
double latitude = latLng.latitude;
double longitude = latLng.longitude;
try {
List<Address> detail = gcd.getFromLocation(location.getLatitude(),
location.getLongitude(), 1);
cityName = detail.get(0).getAddressLine(1);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
嘗試
latitude = detail.get(0).getLatitude();
Log.d("location"+marker.getPosition().longitude+" "+marker.getPosition().latitude);
也許這會有所幫助...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.