1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/spzhao-ns-baidu-location

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 3.1 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 09:23 df7e2ca

NativeScript: плагин для геолокации от Baidu

Версия: 0.0.1

Автор: spzhao

Email: spzhaol@163.com

Используется версия SDK от Baidu для геолокации: 7.0

Добавление плагина

  • Данный плагин не добавлен в npm, поэтому его необходимо сначала клонировать на локальный компьютер, а затем добавить в проект.
  • Выполните команду git clone: https://git.oschina.net/spzhao/ns-baidu-location.git
  • Измените ключ API для Baidu:
    • Отредактируйте файл platform/android/AndroidManifest.xml (см. изображение ниже).
    • Замените значение BAIDU_API_KEY на ваш собственный ключ API.
  • В каталоге проекта выполните команду: tns plugin add file/to/plugin/path

Использование

В сочетании с nativescript-permissions

Преимущество: если разрешение не предоставлено, будет предложено предоставить разрешение на геолокацию, и после согласия будет выполнена геолокация. Чтобы добавить плагин nativescript-permissions, выполните команду: tns plugin add nativescript-permissions.

var permissions = require( "nativescript-permissions" );
var baiduMap = require("baidu-location")
permissions.requestPermission(android.Manifest.permission.ACCESS_FINE_LOCATION, "")
            .then(function() {
                baiduMap.getPosition()
                    .then(function(pos){
                        ...
                    })
                    .catch(function(err){
                       ...
                    })
            })
            .catch(function() {
                console.log("permission denied");
            });

Прямое использование

Недостаток: если разрешение не предоставлено, появится запрос на предоставление разрешения, но после предоставления разрешения геолокация будет выполнена только после повторного выполнения.

    var baiduMap = require("baidu-location")
    baiduMap.getPosition()
         .then(function(pos){
              ...
         })
         .catch(function(err){
              ...
         })

Возвращаемые данные

Тип: json

{
   addr: '位置信息',
   locType: '返回类型', // 具体返回 типа можно посмотреть в официальном руководстве Baidu
   latitude: 'latitude',
   longitude: 'longitude',
   radius: '误差半径'
}

См. официальную документацию Baidu по кодам ошибок для AndroidSDK

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/spzhao-ns-baidu-location.git
git@api.gitlife.ru:oschina-mirror/spzhao-ns-baidu-location.git
oschina-mirror
spzhao-ns-baidu-location
spzhao-ns-baidu-location
master