Как открывать приложение карт с положением специфическим GPS в Android?

У меня есть url https://www.google.com/maps/@41.3825581,2.1704375,16zчто posiciona Барселона в карте, но я нахожусь, что он не выходит, давайте говорить суфлер адреса, только тебя ориентирует карта.

В моем устройстве у меня есть несколько apps карт:

  • Cytymapper
  • MAPS.ME
  • Google Maps
  • Google Earth

Код, который у меня есть, чтобы бросать Intent:

Uri uri = Uri.parse("https://www.google.com/maps/@41.3825581,2.1704375,16z");
if (URLUtil.isValidUrl(uri.toString())) {
   startActivity( new Intent(Intent.ACTION_VIEW, uri));
}

У меня выходит один ActionList чтобы выбирать Maps или Chrome, если я нажимаю на Maps он открывает мне приложение maps, но он не показывает мне с курсором положение, осваивается в landmark и точка.

Если я показываю, что он открывается с chrome, выходит другой ActionList, с другими приложениями карт.

Мои сомнения:

  • Как я делаю, чтобы бросать один Intent специфическое средство для того, чтобы возможно открываться с Apps Карт?
  • Как я могу отображать закладку положения внутри карты?

Решенный:

Чтобы показывать дорожку с закладкой и этикеткой

geo:<lat>,<lon>?z=<zoom>&q=<lat>,<lon>(<label>)

Чтобы показывать расположение Барселоны

geo:41.3825581,2.1704375?z=16&q=41.3825581,2.1704375(Barcelona)

Чтобы показывать ActionList пусть выйдут все совместимые приложения для posicionar дорожка

Uri uri = Uri.parse("geo:41.3825581,2.1704375?z=16&q=41.3825581,2.1704375(Barcelona)");
startActivity( new Intent(Intent.ACTION_VIEW, uri));

Если хочется посылать положение прямо в приложение Google Maps

Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse("geo:41.3825581,2.1704375?z=16&q=41.3825581,2.1704375(Barcelona)"));
                intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");
                startActivity(intent);
10
задан 26.01.2016, 21:02
3 ответа

SegГєn эти ответ в SO на английском:

Форма эта:

Uri intentUri = Uri.parse("geo:41.382,2.170?z=16&q=41.382,2.170(Esta+Es+La+Etiqueta)");
Intent intent = new Intent(Intent.ACTION_VIEW, intentUri);
startActivity(intent);
5
ответ дан 24.11.2019, 14:57
  • 1
    мне кажется, что geo он не вынесен Uri.parse, я протестировал est и # 225; ndar полученная wikipedia geo:37.786971,-122.399677;u=35 и он дает мне invalid uri – Webserveis 26.01.2016, 19:45
  • 2
    это не формат, эта точка с запятой не идет. равный сейчас я протестирую это. – rnrneverdies 26.01.2016, 19:49
  • 3
    @mmeverdies использование URLUtil.isValidUrl (uri.toString () и это - то, что мне дает инвалид, без этого функционирует – Webserveis 26.01.2016, 20:26
  • 4
    @Webserveis я думаю, что это объясняет, из-за которого: grepcode.com/file/repository.grepcode.com/java/ext/… – rnrneverdies 26.01.2016, 21:30

Ты можешь делать это так:

map.moveCamera( CameraUpdateFactory.newLatLngZoom(new LatLng(xxxx,xxxx) , 14.0f) );

xxxx представляют широту и длину и 14.0f уровень масштаба.

2
ответ дан 24.11.2019, 14:57
  • 1
    Спасибо, в принципе я хочу сделать это внешне, посредством Intents, так, что не загружать элемент карт, а именно, что установленный назначенный по умолчанию app открытия ubicaci и # 243; n карт, если это maps google, google earth и т.д.... – Webserveis 26.01.2016, 18:38

https://www.google.com/maps / 41.3825581,2.1704375,16z

ВїCГіmo я могу отображать закладку ее posiciГіn внутри карты?

, если залив какой-то лучший способ делать то, что он просит, но если я понимаю Ваш вопрос, он может относиться к какому-либо из следующих примеров, если то, что он ищет, было бы возможно осуществлять это каким-то образом в Вашем app, если он не может получать координаты в следующем Act, он смог бы pasarcelas внутри Intent и возвращать их где-то здесь.


// latitude longitude

double latitude = 41;
double longitude = 2;

// marker
MarkerOptions miMarker = new MarkerOptions().position(new LatLng(latitude, longitude)).title("Hola Webserveis");

// marker icono
miMarker.icon(BitmapDescriptorFactory.fromResource(R.drawable.mimarkericono)));

// marker
googleMap.addMarker(miMarker);

@Override
public void onMapReady(GoogleMap map) {
    map.addMarker(new MarkerOptions()
        .position(new LatLng(10, 10))
        .title("Hola Webserveis"));
}

ВїCГіmo я делаю, чтобы бросать Intent especГ-fico для того, чтобы возможно открываться с Apps Карт?

На части, которую он говорит, как открывать app с Intent, не, если это, к которому он относится:

Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse("http://maps.google.com/maps?saddr="+_lat+","+_ltg+"&daddr="+destino_lat+","+destino_ltg)); //o la direccion/consulta que quiera "http://maps.google.com/maps?q="+ myLatitude  +"," + myLongitude +"("+ labLocation + ")&iwloc=A&hl=es"
intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");
startActivity(intent);
2
ответ дан 24.11.2019, 14:57
  • 1
    Спасибо @Angel м и # 225; s или менее уже у меня есть soluci и # 243; n между всеми – Webserveis 26.01.2016, 20:27
  • 2
    @Webserveis он радует меня, что он это решит. с другой стороны из-за извещения Вашего комментария, я прочитал снова вопрос и я верю в то, что interperte плохо эта часть - >... отображать закладку..., он думал, что он хотел показать market положения, но не, если это это, что он также хотел. Привет – Angel Angel 26.01.2016, 21:02