为啥我在 IOS 上得到 Mapboxgl api 的空白页面?

Posted

技术标签:

【中文标题】为啥我在 IOS 上得到 Mapboxgl api 的空白页面?【英文标题】:Why I am getting blank page for Mapboxgl api on IOS?为什么我在 IOS 上得到 Mapboxgl api 的空白页面? 【发布时间】:2018-01-24 10:53:42 【问题描述】:

使用 ionic3、angular4 和 cordova 处理 ma​​pboxgl

我已经构建了 .apk 和 .ipa 文件。我在我的 android 设备中安装了 .apk 文件,它按预期工作(ie mapbox tiles, my icons (I have added some icons to custom some functionalities for eg. added an icon to switch the map style) and my markers are loaded successfully)

当我在我的 Iphone 中安装 .ipa 文件时,我的图标只加载了,但地图框图块没有加载。还有标记。我得到空白屏幕。

我的实现有什么问题?

let data = myJson data;

mapboxgl.accessToken = 'My access token';
var map = new mapboxgl.Map(
container: 'map',
style: 'mapbox://styles/mapbox/streets-v9',
attributionControl: false,
center: [-74.50, 40],
zoom: 12
);

map.on('load', function () 
 map.addSource("place", 
    type: "geojson",
   data: data,
   cluster: true,
   clusterMaxZoom: 14, // Max zoom to cluster points on
   clusterRadius: 50 // Radius of each cluster when clustering points (defaults to 50)
);

 map.addLayer(
"id": "places",
"type": "circle",
"source": "place",
"paint": 
  "circle-radius": 7,
  "circle-color": "#32CD32",
  "circle-stroke-width": 4,
  "circle-stroke-color": "#FFFFFF"


);

);

你能帮我看看这里添加的代码吗?

此代码在 Android 中运行良好。我的意思是地图正在按预期加载。但在 Iphone 我的应用程序正在运行但地图没有加载。猜猜哪里出了问题?

【问题讨论】:

仍然遇到同样的问题。有什么解决办法吗? 你在他们的 GitHub 页面上提出过问题吗? (github.com/mapbox/mapbox-gl-native) 比起 SO 另一个有用的故障排除工具是尝试从他们的 GitHub 页面下载示例应用程序,然后运行它以查看您是否得到相同的行为。如果是这样,请在他们的仓库中向他们提出问题。 @Olive,我在该链接上提出了问题票。但他们说他们不会支持我的架构 【参考方案1】:

请检查info.plist 的密钥MGLMapboxAccessToken 是否设置了正确的令牌。设置此值非常重要。

如果您没有源代码甚至认为可以通过提取 IPA 进行检查。以下是提取 IPA 的步骤。

将扩展名从 IPA 更改为 ZIP。 解压 zip 文件 在有效负载中,您将找到应用程序。右键单击它并单击show package contents 打开 info.plist 并搜索 key 和它的值。

希望你能得到答案

【讨论】:

以上是关于为啥我在 IOS 上得到 Mapboxgl api 的空白页面?的主要内容,如果未能解决你的问题,请参考以下文章

在其他机器上得到 404,为啥?

为啥我在使用 Nginx 和 Gunicorn 的 Django 应用程序上得到 502 Bad Gateway?

为啥我在字符串变量上得到“程序接收信号:”EXC_BAD_ACCESS“

为啥我在一个 webpack 项目上得到“意外的令牌导入”,而在另一个项目上却没有?

为啥我在比较我的优先级队列堆中的两个索引的行上得到空值?

为啥我在使用 SOAP 的贝宝批量付款上得到 transaction_status = "Failed"?