2017-12-07 15 views
0

住所を使用してアンドロイドで地図上にマーカーを表示しようとしています。
これは私のコードです:住所から緯度と経度を検索する

public void onMapReady(GoogleMap googleMap){ 
    mMap = googleMap; 
    Geocoder coder= new Geocoder(this); 
    try 
    { 
     String straddress = "155 Park Theater,Palo Alto,CA"; 
     Double latitude = 0.0; 
     Double longitude = 0.0; 
     List<Address> addresses = coder.getFromLocationName("155 Park Theater,Palo Alto,CA",1); 
     Address location = addresses.get(0); 
     LatLng p1 = new LatLng(location.getLatitude(), location.getLongitude()); 
     mMap.addMarker(new MarkerOptions().position(p1).title("California")); 
     mMap.moveCamera(CameraUpdateFactory.newLatLng(p1)); 
    } 
    catch (Exception e) 
    { 
     e.printStackTrace(); 
    } 
} 

私は通りの番号を入れていない場合、それはマーカーが表示されます。 しかし、通りにマーカーが表示されます。私は特定の場所にマーカーが必要です。

住所全体を入力する際に​​、次のエラーが発生しています。 「アドレス」リストは空です。

java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 

答えて

0

次でコードを更新します。

List<Address> address; 
LatLng latLng = null; 

try { 
    address = coder.getFromLocationName(strAddress,5); 
    if (address==null) { 
     return null; 
    } 
    Address location=address.get(0); 
    latLng = new LatLng(location.getLatitude(),location.getLongitude()); 
    } 
+0

をPlzをそれはそれはまだ動作していない –

+0

番号を働くなら、私に知らせてください。 –

関連する問題