0

そのため、マップからマーカーを sqlite データベースに保存しています。緯度と経度でマーカーをクエリしようとしています。テストのために、特定の場所にマーカーを追加しています。マーカーの位置を確認すると、別の場所が表示されます。これは何が原因ですか?

    private void drawMarker(LatLng point, String title, String snippet){
    // Creating an instance of MarkerOptions
    MarkerOptions markerOptions = new MarkerOptions();
    // Setting latitude and longitude for the marker
    LatLng l = new LatLng(37.52100000000001, -77.44800000000001);
    markerOptions.position(l);
    markerOptions.title(title);
    markerOptions.snippet(snippet);
    // Adding marker on the Google Map
    googleMap.addMarker(markerOptions); 
}

これは、マーカーの位置を抽出するコードです

    googleMap.setOnInfoWindowClickListener(new OnInfoWindowClickListener() {

        @Override
        public void onInfoWindowClick(Marker marker) {
      marker1 = marker;     
      LatLng mlatlong = marker1.getPosition();
      markerLat = Double.toString(mlatlong.latitude);
      markerLng = Double.toString(mlatlong.longitude);
      latitude = mlatlong.latitude;
      longitude = mlatlong.longitude;
      Log.i("Marker", mlatlong.latitude +","+mlatlong.longitude);
      markerDialog();
        }

    });

これにより、位置 06-20 21:53:52.447: I/Marker(15221): 37.52100000569583,-77.44800008833408 が得られます

4

1 に答える 1

1

Java や他のほとんどの言語でdoubleは、正確な値として保存されません。

詳しくはこちらをご覧ください

また、投稿した場所が互いに非常に近いことは問題ではありません。

于 2013-06-21T02:06:32.033 に答える