2013-06-17 9 views
15

Jestem początkującym programistą Androida. Chcę opracować aplikację Map za pomocą Google Map. Teraz chcę dodać znacznik na mapie poprzez dotknięcie lub dotknięcie mapy. Nie wiem, jak zastosować zdarzenie dotykowe, aby upuścić znacznik na mapie. Proszę, powiedz mi, a jeśli to możliwe, podaj mi kilka linków lub przykładów. Dziękuję i przepraszam za mój angielski.Dodaj znacznik na Androidzie Google Map przez dotknięcie lub dotknij

Odpowiedz

5

Ten kod jest Successful run Pracuję nad tym kodem kod ten jest dla Dynamiczny Draw

Myślę ten kod pomóc Ci bardziej dla statycznych lub dynamicznych obu miejscach można użyć ten kod

double latval = Double.parseDouble(jsonobject.getString("lat")); 
double longval = Double.parseDouble(jsonobject.getString("lon")); 

mMap.addMarker(new MarkerOptions() 
       .position(new LatLng(latval, longval)) 
       .title(jsonobject.getString("country")) 
       .snippet("4 E. 28TH Street From $15 /per night") 
       .rotation((float) -15.0) 
       .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_ORANGE)) 
      ); 

if (i == 0) { 
    mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(
           new LatLng(latval, longval), 7)); 
    mMap.addCircle(new CircleOptions() 
        .center(new LatLng(latval,longval)) 
        .radius(5000) 
        .strokeColor(Color.RED) 
        .fillColor(Color.RED)); 
} 
43

spróbuj this nowy google map api v2 ..

jej łatwo użyj i, aby dodać znacznik w kranu, użyj tego w kodzie ur.

map.setOnMapClickListener(new GoogleMap.OnMapClickListener() { 

     @Override 
     public void onMapClick(LatLng point) { 
      // TODO Auto-generated method stub 
      lstLatLngs.add(point); 
      map.clear(); 
      map.addMarker(new MarkerOptions().position(point)); 
     } 
    }); 
+0

tutaj, czym jest lstLatLngs.add (punkt); ? mam na myśli lstLats, który z tych obiektów nie kastujesz? –

15

The te chnique którego użyłem to:

googleMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() { 

       @Override 
       public void onMapClick(LatLng point) { 

        MarkerOptions marker = new MarkerOptions().position(
          new LatLng(point.latitude, point.longitude)).title("New Marker"); 

        googleMap.addMarker(marker); 

       System.out.println(point.latitude+"---"+ point.longitude); 
       } 
      }); 

mam nadzieję, że pomoże !!!

Powiązane problemy