0
図2のようにGoogleマップを使用して現在の場所を表示したいのですが、Googleマップが現在の場所を読み込むのに時間がかかる地図には最初にコード "LatLng mPosition = new LatLng(34.6767、33.04455);"で設定した場所が表示されます。私はそれを "LatLng mPosition"に置き換えようとしました。同じ問題が依然として存在します。それを修正するためのあらゆる対策?Googleマップ:現在の場所が正しく読み込まれる前に「固定された場所」が表示されます
GoogleMap googleMap;
GetLocation getLocation = new GetLocation();
//LatLng mPosition = new LatLng(34.6767, 33.04455);
LatLng mPosition;
final Marker marker_final = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.map);
getLocation.getLocation(getApplicationContext(), locationResult);
MapFragment mapFragment = (MapFragment) getFragmentManager().findFragmentById(R.id.map_fragment);
googleMap=mapFragment.getMap();
}
public LocationResult locationResult = new LocationResult() {
@Override
public void gotLocation(Location location) {
double Longitude = location.getLongitude();
double Latitude = location.getLatitude();
Toast.makeText(getApplicationContext(), "Got Location Long: "+Longitude+"; Lat: "+Latitude,
Toast.LENGTH_LONG).show();
mPosition = new LatLng(Latitude, Longitude);
googleMap.setMyLocationEnabled(true);
googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(mPosition, 13));
CameraUpdate zoom = CameraUpdateFactory.zoomTo(18);
googleMap.animateCamera(zoom);
/*
googleMap.addMarker(new MarkerOptions()
.title("Shop")
.snippet("Is this the right location?")
.position(mPosition)).setDraggable(true);
*/
googleMap.addMarker(setMarkerOptions("Your Shop","The Right Position?",mPosition)).setDraggable(true);
// map.setInfoWindowAdapter(new PopupAdapter(getLayoutInflater()));
googleMap.setOnInfoWindowClickListener(GmapDragActivity.this);
googleMap.setOnMarkerDragListener(GmapDragActivity.this);
}
};
private MarkerOptions setMarkerOptions(String title,String msg,LatLng position){
MarkerOptions options=new MarkerOptions();
options.title(title);
options.snippet(msg);
options.position(position);
return options;
}
これはズームレベルとは関係ありません。 私の現在地は香港の "香港仔"(LatLng(26.2792378、134.1776))です。 しかし、地図を開いたとき、最初に "國立中央大學"(LatLng(34.6767) 、33.04455)台湾ではそれがLatLng(26.2792378、134.1776)に戻るのに5秒かかります。 なぜこのようなことが起こっているのか分かりませんが、これを避けたい場合は –
とこの行をコメントしてください。推測します.. googleMap.setMyLocationEnabled(true); – Stallion