Маркерная метка с намерением карты - PullRequest
0 голосов
/ 02 ноября 2018

В моем приложении я хочу открыть карту Google с указанным местоположением вместе с маркером и его ярлыком. И я хочу сделать это с помощью «Намерения», а не классов «Карта Google» и «Маркер». Я использую следующий код:

 post_url.setOnClickListener({
        val intent=Intent(Intent.ACTION_VIEW)
        intent.data = Uri.parse("https://www.google.com/maps/place/University+of+Oxford/@51.7548164,-1.2565555,17z/data=!4m12!1m6!3m5!1s0x4876c6a9ef8c485b:0xd2ff1883a001afed!2sUniversity+of+Oxford!8m2!3d51.7548164!4d-1.2543668!3m4!1s0x4876c6a9ef8c485b:0xd2ff1883a001afed!8m2!3d51.7548164!4d-1.2543668")
        startActivity(intent)
    })

Указывает на указанное местоположение, но маркер не отображается. Я также попробовал следующий код:

post_url.setOnClickListener({
        val intent=Intent(Intent.ACTION_VIEW)
        intent.data = Uri.parse("geo:0,0?q=51.7548164,-1.2565555(Oxford University)")
        startActivity(intent)
    })

Во втором методе маркер виден, но метка не отображается. Текст «Оксфордский университет» написан в нижней части карты с информацией. Но я хочу показать с маркером. Смотрите следующее изображение, чтобы понять, что я хочу.

enter image description here

Ответы [ 2 ]

0 голосов
/ 02 ноября 2018

Возможно, вы можете попробовать другие варианты, доступные для запуска карты Google с помощью намерения.

Double myLatitude = 51.7548164;
Double myLongitude = -1.2565555;
String labelLocation = "Oxford university";

1

String urlAddress = "http://maps.google.com/maps?q="+ myLatitude  +"," + myLongitude +"("+ labelLocation + ")&iwloc=A&hl=es";     
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(urlAddress));
startActivity(intent);

2

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("geo:<" + myLatitude  + ">,<" + myLongitude + ">?q=<" + myLatitude  + ">,<" + myLongitude + ">(" + labelLocation + ")"));
startActivity(intent);

3

String urlAddress = "http://maps.googleapis.com/maps/api/streetview?size=500x500&location=" + myLatitude  + "," + myLongitude + "&fov=90&heading=235&pitch=10&sensor=false";
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(urlAddress));
startActivity(intent);

OR

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("geo:<lat>,<long>?q=<lat>,<long>(Label+Name)"));
startActivity(intent);
0 голосов
/ 02 ноября 2018

Попробуйте это:

String address = "http://maps.google.com/maps?q="+ LATITUDE  +"," + LONGITUDE +"("+ YOUR-LABEL-HERE + ")&iwloc=A&hl=es";     
    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(address));
    startActivity(intent);

Дайте ему широту и длину и метку.

Другой ответ

Uri gUri = Uri.parse("geo:0,0?q=YOUR_LAT,YOUR_LONG(YOUR_LABEL_HERE)");
Intent intent = new Intent(Intent.ACTION_VIEW, gUri);
startActivity(intent);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...