2017-12-07 12 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

번호를 작동하는지 알려주세요. –