Mam aplikację, w której chcę wyświetlać różne lokalizacje (jedną naraz, wybierane przez użytkownika), uruchamiając Mapy Google z ich określonymi współrzędnymi geograficznymi.
Obecnie używam tego (oczywiście z prawdziwymi wartościami szerokości i długości):
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("geo:<lat>,<long>?z=17"));
startActivity(intent);
To jest dokładnie to, czego chcę, z wyjątkiem tego, że nie pokazuje żadnego wskaźnika ani znacznika dla określonego punktu. Wyśrodkowuje się tylko w swoim miejscu.
Czy istnieje sposób na uzyskanie znacznika lub czegoś innego bez użycia MapView?
Odpowiedzi:
Spróbuj tego:
Możesz pominąć (Etykieta + Nazwa), jeśli nie chcesz mieć etykiety, a wybierze ją losowo na podstawie najbliższej ulicy lub innej rzeczy, którą uzna za stosowną.
źródło
geo:
części, zauważył lke robpvn. W niektórych przypadkach zapytanie nie powiedzie się przy użyciu lat / long, a wtedy zamiast wracać do punktu geograficznego, otrzymasz toast „brak wyników”. Niezbyt przydatne w przypadku jakiejkolwiek aplikacji GIS.Zaakceptowana odpowiedź jest prawidłowa, chyba że na etykiecie znajduje się znak „&”.
Patrząc na jednolity identyfikator zasobów dla lokalizacji geograficznych (identyfikator URI „geo”) :
Sekcja 5.1 mówi:
Niestety dla nas, zrobienie tego spowoduje również uniknięcie znaku „=”, co nie jest tym, czego chcemy.
Powinniśmy to zrobić:
źródło
Istnieje wiele innych opcji uruchamiania mapy Google za pomocą intencji ...
1)
2)
3)
źródło
)
za drugą drogą.Ten ciąg działa dobrze dla mnie:
źródło
Spróbuj dołączyć (LocationMarkerName) do geo: uri. Na przykład „geo:,? Z = 17 (LocationMarkerName)”
W Mapach Google na Androida, wyszukując 23.0980,30.6797 (NamedMarker), wydaje się, że mapa jest wyśrodkowana i umieści znacznik o nazwie NamedMarker w tym miejscu.
źródło
Właśnie potwierdziłem, że następujący fragment z @Kenton Price nadal działa na Androidzie 4.4 (KitKat):
źródło
Użyłem nakładek tylko z MapView do rysowania znaczników na górze mapy. Jeśli Twój widok pokazuje mapę, możesz po prostu narysować znacznik na środku ekranu, w taki sam sposób, jak rysowałbyś dowolny obraz w Widoku.
Jednak znacznik nie byłby połączony z rzeczywistymi współrzędnymi mapy, ale jeśli jest to tylko widok statyczny, może to wystarczyć.
źródło