【问题标题】:Maps, Ripple emulator work, android emulator NO地图,Ripple 模拟器工作,android 模拟器 NO
【发布时间】:2015-06-26 13:47:36
【问题描述】:

我正在尝试使用带有 2 个不同模拟器、ripple chroome 和 Android 模拟器正常的 cordoba 的代码 gogole 地图。 Ripple 工作并向我显示地图地理位置,而模拟器 Android 则将整个屏幕显示为灰色。 为什么?

【问题讨论】:

  • 我想我以前有过这个。解决方案是等待......我的地图在大约 3 分钟后出现。
  • 不,稍后会加载简单的地图,而不会加载地理位置

标签: javascript android cordova google-maps-api-3


【解决方案1】:

我认为模拟器只是未能报告其位置。

后来我意识到造成灰屏的原因可能是我们没有处理time-out。当我们获取用户位置时,浏览器可能需要很长时间才能返回该位置。最佳做法是先设置一个位置,然后在该位置可用时更新地图。我们也应该设置地理位置的超时时间,as it is default to be Infinity.

我为此创建了一个 jsfiddle。

http://jsfiddle.net/x1115zw3/1/

=-=-=-=

要将地图置于 HYBRID 中,您应该在 maps 选项中添加 mapTypeId: google.maps.MapTypeId.HYBRID。所以你的 mapOptions 应该是这样的:

  var mapOptions = {
    zoom: 14,
    mapTypeId: google.maps.MapTypeId.HYBRID
  };

【讨论】:

  • 在你的` // Try HTML5 geolocation`之前,尝试设置一个默认位置。查看 jsfiddle 的第 19 行。另请参阅此帖子以获取有关超时stackoverflow.com/questions/3397585/… 的更多信息
  • 我明白了,但是当我输入默认位置而没有发送错误所有?
  • 是的,这样可以防止用户卡在灰屏中,即使 HTML5 地理位置不返回位置或出现错误,您的地图也能正常工作
  • 谢谢,你能不能来 甚至改变“混合”中的地图类型?为什么当我尝试将它放在地图选项中时,一切都出错了。
  • 要将地图放入 HYBRID,您应该在地图选项中添加mapTypeId: google.maps.MapTypeId.HYBRID
猜你喜欢
  • 1970-01-01
  • 2012-08-11
  • 2015-12-12
  • 2014-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多