• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - Meteor GoogleMaps.load() 在 iOS 上无法使用 Iron

[复制链接]
菜鸟教程小白 发表于 2022-12-12 16:49:36 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我正在尝试使用 Meteor 在页面上加载带有标记的简单 map 。我正在使用 GoogleMaps packageIron .

map 在我的浏览器中正确显示,但是当我使用 iOS 模拟器(iPhone 6/iOS 8.3)尝试它时,它永远不会加载:它是自动运行的,系统地返回 false on GoogleMaps.loaded() ...

另一方面,Geolocation 正在正确返回位置。

这是我设置的一个存储库,用于查看整个问题:https://github.com/Loschcode/meteor-iron-google-maps-issue

重要的几行可能是 GoogleMaps 包设置:

#
# Helpers
#
Template.GeoMap.helpers {

  geolocationError: =>

    error = Geolocation.error()
    return error and error.message

  mapOptions: =>

    latLng = Geolocation.latLng()

    if (Meteor.isCordova)
      alert(GoogleMaps.loaded())

    # Initialize the map once we have the latLng.
    if GoogleMaps.loaded() and latLng

      if (Meteor.isCordova)
        alert('GoogleMaps.loaded')

      return {
        center: new google.maps.LatLng(latLng.lat, latLng.lng)
        zoom: @MAP_ZOOM
      }

}

以及过程:

#
# onCreated
#
Template.GeoMap.onCreated =>

  GoogleMaps.load()

  if (Meteor.isCordova)
    alert('GoogleMaps.load')

  # When it's ready, we process the position
  GoogleMaps.ready 'geoMap', (map) =>

    # THIS IS NEVER FIRED

我不确定这是人为错误还是问题,但我已经做了好几个小时了,我真的不明白

注意:在我的测试存储库中,我让一些 alert() 在 iOS 上触发以清楚地看到问题。

对这个问题有任何想法吗?对不起 CoffeeScript 和 Iron 结构。



Best Answer-推荐答案


在 Cordova 上使用外部 API 时,您需要在项目目录的顶层配置一个 mobile-config.js 文件。

对于 google api,您的 mobile-config.js 看起来像

App.accessRule('*.googleapis.com/*');

docs

关于ios - Meteor GoogleMaps.load() 在 iOS 上无法使用 Iron,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33310001/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap