2015-09-07 17 views
6

W mojej aplikacji Android muszę umieścić znacznik w dokładnej pozycji na mapie. Przypinam znacznik na mapie z lokalizacją 51.507351, -0.127758 (Londyn). Użyłem następującego kodu do wykonania pracy.znacznik map Google google umieszczenie

googleMap.addMarker(new MarkerOptions().position(
     new LatLng(51.507351, -0.127758)).icon(
     BitmapDescriptorFactory.fromBitmap(BitmapFactory 
       .decodeResource(getResources(), 
         R.drawable.q_icon)))); 
googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(
     new LatLng(51.507351, -0.127758), 20)); 

A to mój marker odkształcalne image:

enter image description here

Teraz mój problem jest, symbol "P" jest umieszczony w miejscu 51.507351, -0.127758. Muszę umieścić znacznik w miejscu, w którym zaczyna się strzałka dolna.

Proszę zobaczyć zdjęcie, aby zrozumieć moje pytanie.

Jak mogę to zrobić? proszę pomóż mi.

enter image description here

Odpowiedz

0

Spróbuj tego,

private GoogleMap mMap; 

mMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap(); 

mMap.addMarker(new MarkerOptions() 
    .position(new LatLng(0, 0)) 
    .title("Hello world") 
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE))); 
1

Spróbuj tego:

googleMap.addMarker(new MarkerOptions().position(
       new LatLng(51.507351, -0.127758)).icon(
       BitmapDescriptorFactory.fromBitmap(BitmapFactory 
         .decodeResource(getResources(), 
           R.drawable.q_icon))).anchor(0.5f, 1f)); 
googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(
    new LatLng(51.507351, -0.127758), 20)); 
+0

Tutaj pracowałem. Spaciba o_O – statosdotcom

11

Logika jak znaczniki są zakotwiczone jest coś takiego:

0,0 0.5,0.0 1,0 *-----+-----+-----+-----* | | | | | | | | | | 0,0.5 +-----+-----+-----+-----+ 1,0.5 | | | X | | (U, V) = (0.7, 0.6) | | | | | *-----+-----+-----+-----* 0,1 0.5,1.0 1,1

Należy także wziąć pod uwagę, że na podstawie zasobu bitmapy, to może być umieszczony nieco inaczej niż byś oczekiwać, ponieważ faktycznie przybliżają się do najbliższej pozycji przyciągania. Tak więc w powyższym przykładzie punkty zaczepienia będą przyciągać do tej pozycji: *-----+-----+-----+-----* | | | | | | | | | | +-----+-----+-----X-----+ (X, Y) = (3, 1) | | | | | | | | | | *-----+-----+-----+-----*