2016-12-05 4 views
-5

나는 여기에서 배우려고 노력하는 안드로이드 개발의 총 초보자입니다. 마커를 터치 나 탭이있는지도에 표시하려고합니다. 위도와 경도도 표시됩니다. 그 위도와 경도를 각각의 위치 이름으로 변환하고 Reverse Geocoder로 가능하다는 것을 알고 있지만 코드를 올바르게 코딩하는 방법을 모르겠습니다.Google지도 제목에 위치 이름을 표시하는 마커

여기 내 코드입니다.

public void onMapReady(final GoogleMap googleMap) { 
    mMap = googleMap; 

    LatLng sydney = new LatLng(-34, 151); 
    mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney")); 
    mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney)); 

    mMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() { 

     @Override 
     public void onMapClick(LatLng point) { 

      String address; 
      String city; 
      mMap.clear(); 


      Geocoder geocoder; 
      List<Address> addresses; 

      geocoder = new Geocoder(MapsActivity.this, Locale.getDefault()); 

      try { 
       addresses = geocoder.getFromLocation(point.latitude, point.longitude, 1); 

       address = addresses.get(0).getAddressLine(0); 
       city = addresses.get(0).getLocality(); 

       MarkerOptions markerOptions = new MarkerOptions() 
         .position(point) 
         .title(city); 

       Marker marker = mMap.addMarker(markerOptions); 
       marker.showInfoWindow(); 

      } catch (IOException e) { 
       e.printStackTrace(); 
      } 

     } 
    });} 

답변

0

당신이 동네 짱 같은 사용자 지정 장소 선택기를 구축하고자하거나 위치 정보를 검색하는 Google 지역 정보 API에 대한 서비스 호출을 작성해야 swiggy합니다. 마커의 위치를 ​​가져 오려면 비동기식 서비스 호출을해야합니다.

Google의 도움말을 사용하려는 경우 Google PlacePicker으로 갈 수 있습니다. 이것은 성능 및 앱 무게 측면에서 쉽고 빠르며 효율적입니다.

0

컬렉션 프레임 워크를 사용하여 주소를 마커와 매핑 (일치) 할 수 있습니다. 예 : 지도«문자열, 문자열»address_match; 마커 getid()를 만들고 콜렉션 맵 객체에 주소와 함께 배치 할 때마다 첫 번째 문자열은 마커 ID가됩니다. 마커를 클릭하면 ID로 검색 할 수 있습니다.

+0

마켓에 위도와 경도가 이미 표시되어 있으므로 지오 코더를 사용하여 장소 이름으로 변환하면됩니다. 나는 그것이 가능하다는 것을 안다. 그러나 나는 그것을 올바르게 코딩하는 방법을 모른다. –