NativeScript + Mapbox插件:mapbox.show()错误

时间:2018-01-24 19:03:42

标签: mapbox nativescript

经过大量的尝试和错误,试图找到this的解决方案后,我理解感谢Eddy Verbruggen的帮助,有两种独特的方法可以将标记添加到mapbox地图中:通过onMapReady()中的代码或以编程方式。

但是现在,我找到了一些我无法解决的问题:使用指示Declaring a map programmatically的确切代码,运行时,应用程序出现错误,原因是“TypeError:mapbox.show不是函数”。

代码是:

`var mapbox = require("nativescript-mapbox");
var platform = require("platform");
var isIOS = platform.device.os === platform.platformNames.ios;

mapbox.show({
accessToken: 'here i wrote my own API ACCESS TOKEN',
style: street, 
margins: {
  left: 40, // default 0
  right: 40, // default 0
  top: 450, // default 0
  bottom: isIOS ? 50: 0 
 },
center: { // optional without a default
  lat: 52.3702160,
  lng: 4.8951680
},
zoomLevel: 9.25, 
showUserLocation: true, 
hideAttribution: false, 
hideLogo: false, 
hideCompass: false, 
disableRotation: false,
disableScroll: false,
disableZoom: false, 
markers: [ 
  {
    id: 1, 
    lat: 52.3732160, 
    lng: 4.8941680, 
    title: 'Nice location', 
    subtitle: 'Really really nice location', 
    icon: 'res://cool_marker', 
    selected: true, 
    onTap: function(marker) { console.log("This marker was tapped"); },
    onCalloutTap: function(marker) { console.log("marker was tapped"); }
  }
 ]
  }).then(
  function(showResult) {
    console.log("Mapbox show done for " + (showResult.ios ? "iOS" : 
 "Android") + ", native object received: " + (showResult.ios ? 
  showResult.ios : showResult.android));
  },
  function(error) {
    console.log("mapbox show error: " + error);
  }
)`

为了澄清,该应用程序是从“tns create my-app-name --template tns-template-blank”构建的。我只添加了nativescript-mapbox插件,并在home.js文件中的“以编程方式声明地图”中插入代码。

我无法理解为什么会出现这个错误,我确定插件已正确安装。该应用程序在Android上使用NS版本3.4.1和nativescript-mapbox版本3.3.0。

0 个答案:

没有答案