Отправка Намерения из Карт Google в приложение для Android с географической информацией - PullRequest
0 голосов
/ 10 ноября 2018

Я хочу отправить Intent из Google Maps в разрабатываемое мной приложение для Android, которое будет включать географическую информацию (широта, долгота и т. Д.).

Я знаю, что для этого требуется настроить фильтр намерений, но пока я работал только с простым / текстовым:

<intent-filter>
    <action android:name="android.intent.action.SEND"/>
    <category android:name="android.intent.category.DEFAULT"/>
    <data android:mimeType="text/plain"/>
</intent-filter>

Это, однако, дает мне только текстовое описание, похожее на это:

899 Green St, San Francisco, CA 94133, https://goo.gl/maps/R4A82MNvUpA2

Я экспериментировал с приведенным ниже описанием, однако это не сработало (намерение даже не было зарегистрировано в Картах Google):

<intent-filter>
    <category android:name="android.intent.category.DEFAULT" />
    <action android:name="android.intent.action.VIEW" />
    <data android:scheme="geo" />
</intent-filter>

Кто-нибудь знает, как это сделать? Я использую Android 9 (пирог).

Ответы [ 2 ]

0 голосов
/ 03 декабря 2018

Что вас интересует, так это информация о местоположении.

Есть несколько вариантов

  1. Получение намерения от карт Google. Вы получите его только в текстовом формате с URL-адресом Google mapa

    • если место не зарегистрировано на карте гугл, вы получаете лат, долго включенный в URL, как выпавший пин-код возле Сехоре, Мадхья-Прадеш https://maps.google.com/?q=22.959831,76.863252
    • последние два числа - лат и длинный.
    • но если место зарегистрировано, вы получите что-то вроде Govardhan Ecovillage (GEV) Гухир Роуд, деревня Галтаре, Вада (Талука), Палгар, Махараштра 421303 091672 04666 https://maps.google.com/?cid=18415851068014862302
      • вам нужно запросить Google Maps для лат, долго используя Cid.
  2. Получить местоположение с помощью GPS

0 голосов
/ 01 декабря 2018

У меня была похожая проблема, и я нашел способ.

использовать геокодирование для получения данных о местоположении:

https://maps.googleapis.com/maps/api/geocode/json?address=899+Green+St,+San+Francisco,+CA+94133&key=your_key

Вы будете иметь широту и длину с кучей других данных:

{
    "results": [
        {
            "address_components": [
                {
                    "long_name": "899",
                    "short_name": "899",
                    "types": [
                        "street_number"
                    ]
                },
                {
                    "long_name": "Green Street",
                    "short_name": "Green St",
                    "types": [
                        "route"
                    ]
                },
                {
                    "long_name": "Russian Hill",
                    "short_name": "Russian Hill",
                    "types": [
                        "neighborhood",
                        "political"
                    ]
                },
                {
                    "long_name": "San Francisco",
                    "short_name": "SF",
                    "types": [
                        "locality",
                        "political"
                    ]
                },
                {
                    "long_name": "San Francisco County",
                    "short_name": "San Francisco County",
                    "types": [
                        "administrative_area_level_2",
                        "political"
                    ]
                },
                {
                    "long_name": "California",
                    "short_name": "CA",
                    "types": [
                        "administrative_area_level_1",
                        "political"
                    ]
                },
                {
                    "long_name": "United States",
                    "short_name": "US",
                    "types": [
                        "country",
                        "political"
                    ]
                },
                {
                    "long_name": "94133",
                    "short_name": "94133",
                    "types": [
                        "postal_code"
                    ]
                }
            ],
            "formatted_address": "899 Green St, San Francisco, CA 94133, USA",
            "geometry": {
                "bounds": {
                    "northeast": {
                        "lat": 37.7989435,
                        "lng": -122.4128121
                    },
                    "southwest": {
                        "lat": 37.7982939,
                        "lng": -122.4138552
                    }
                },
                "location": {
                    "lat": 37.7988047,
                    "lng": -122.4131897
                },
                "location_type": "ROOFTOP",
                "viewport": {
                    "northeast": {
                        "lat": 37.79996768029149,
                        "lng": -122.4119846697085
                    },
                    "southwest": {
                        "lat": 37.7972697197085,
                        "lng": -122.4146826302915
                    }
                }
            },
            "place_id": "ChIJrd0tGO6AhYARxCp3djZ6Ka0",
            "types": [
                "premise"
            ]
        }
    ],
    "status": "OK"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...