Я хочу использовать карты Google в своем проекте.Для этого:
Во-первых, я устанавливаю и настраиваю плагин >> tns plugin add nativescript-google-maps-sdk
Этот плагин хорошо работает для меня.
Во-вторых, я хочу отобразить на картах Google также и мое текущее местоположение, для этого яустановить >> tns plugin add nativescript-geolocation
В AndroidMainfest.xml
добавить
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
<supports-screens />
<uses-sdk />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<application>
.......
</application>
</manifest>
и в компонент ts
onMapReady(event) {
this.mapView = event.object;
this.ws.mobile_base_pharmacyGetAll().subscribe(
items => {
console.log(items)
this.items = items;
if (items !== undefined || items !== undefined) {
for (let i = 0; i < this.items.length; i++) {
var marker = new Marker();
marker.position = Position.positionFromLatLng(this.items[i].latitude, this.items[i].longitude);
marker.title = this.items[i].name;
marker.snippet = this.items[i].address1;
marker.userData = { index: 1 };
this.mapView.addMarker(marker);
this.mapView.myLocationEnabled = true;
}
}
},
err => console.error('err', err),
() => console.log('error')
);
}
Этот код в Android 5.1.1 работает очень хорошо.В Android версии 7 и более не работает.Ошибка:
JS: ошибка: java.lang.SecurityException: мое местоположение требует разрешения ACCESS_FINE_LOCATION или ACCESS_COARSE_LOCATION JS:
com.google.maps.api.android.lib6.impl.bg.c (: com.google.android.gms.dynamite_mapsdynamite @ 17785050 @ 17.7.85 (040406-253824076): 545) JS:
com.google.android.gms.maps.internal.ma (: com.google.android.gms.dynamite_mapsdynamite @ 17785050 @ 17.7.85 (040406-253824076): 361) JS:
hp.onTransact (: com.google.android.gms.dynamite_mapsdynamite @ 17785050 @ 17.7.85 (040406-253824076):4) JS:
android.os.Binder.transact (Binder.java:499) JS:
com.google.android.gms.internal.maps.zza.transactAndReadExceptionReturnVoid (неизвестный источник) JS:
com.google.android.gms.maps.internal.zzg.setMyLocationEnabled (неизвестный источник) JS:
com.google.android.gms.maps.GoogleMap.setMyLocationEnabled (неизвестный источник) JS: com.tns.Runtime.callJSMethodNative(Собственный метод) JS: com.tns.Runtime.dispatchCallJSMethodNative (Runtime.java:1203) JS:
com.tns.Runtime.callJSMethodImpl (Runtime.java:1083) JS:
com.tns.Runtime.callJSMethod (Runtime.java:1070)
Можете ли вы предложить мне любую идею, пожалуйста, чтопроблема и как ее решить?Я не могу найти никакого решения в Google.
Спасибо!
ОБНОВЛЕНИЕ:
Я изменил его, но ничего не изменилось, ошибка существует.