2017-05-18 6 views
0

地図上でタップすると、すべてのユーザーのLatLngSharedPreferenceに保存されます。今度は円を描いています。誰かがこのサークルに入ったら、マーカーが見えるはずです。私はそのすべてを行うことができますが、そのユーザーは1人だけです。しかし私は私のsharedpreferenceで複数のLatLngを持っています。私はどうしたらできますか?私を教えてください。他のユーザーが上書きされているので、その示す唯一のユーザーができれば私のコードはここに半径内にいる場合に地図を表示

private void calculateUserLocation(MapAreaWrapper draggableCircle) { 
    float[] distance = new float[10]; 

    Location.distanceBetween(map_flag.getPosition().latitude, map_flag.getPosition().longitude, 
      draggableCircle.getCenter().latitude, draggableCircle.getCenter().longitude, distance); 

    if (distance[0] > draggableCircle.getRadius()) { 
     Toast.makeText(getBaseContext(), "Outside", Toast.LENGTH_LONG).show(); 
    } else { 
     map_flag.setVisible(true); 
     Toast.makeText(getBaseContext(), "Inside", Toast.LENGTH_LONG).show(); 

    } 
} 
+0

です。 LatLngを格納するためにArrayListを使用していますか?もしそうでなければ、そうすることをお勧めします。次に、各値をループし、distanceBetween()メソッドを実行します。 –

答えて

1
private Marker mMarker; 

    private void calculateUserLocation(MapAreaWrapper draggableCircle) { 
     float[] distance = new float[10]; 

     Location.distanceBetween(map_flag.getPosition().latitude, map_flag.getPosition().longitude, 
       draggableCircle.getCenter().latitude, draggableCircle.getCenter().longitude, distance); 

     if (distance[0] > draggableCircle.getRadius()) { 
      Toast.makeText(getBaseContext(), "Outside", Toast.LENGTH_LONG).show(); 
     } else { 
      map_flag.setVisible(true); 
    if (map!=null){ 


//Simple Marker 
     Marker hamburg = map.addMarker(new MarkerOptions().position(LatLng) 
       .title("Hamburg")); 

//marker With icon 
     Marker kiel = map.addMarker(new MarkerOptions() 
       .position(LatLng) 
       .title("Kiel") 
       .snippet("Kiel is cool") 
       .icon(BitmapDescriptorFactory 
         .fromResource(R.drawable.ic_launcher))); 
    } 

      Toast.makeText(getBaseContext(), "Inside", Toast.LENGTH_LONG).show(); 

     } 
    } 
関連する問題