MapQuest:MQ未定义

时间:2016-08-22 16:43:07

标签: android cordova leaflet mapquest

我不得不接管和使用phonegap的Android应用程序 - 传单/ MapQuest / openstreetmap

它崩溃了,因为MapQuest停止了对瓷砖的直接访问,地图不再显示了。

然后我添加了密钥并修改了此处建议的代码:https://developer.mapquest.com/documentation/leaflet-plugins/maps/

我使用此代码:

<link rel="stylesheet" href="scripts/leaflet-0.7.7/leaflet.css" />
<script src="scripts/leaflet-0.7.7/leaflet.js"></script>
<script src="https://www.mapquestapi.com/sdk/leaflet/v2.s/mq-map.js?key=validKeyNumberThatIWontReveal"></script>

在以下结构中:

enter image description here

我的JS:

var popup = L.popup();
                        var geolocationMap = L.map(b, {
                            layers: MQ.mapLayer(),
                            center: [40.731701, -73.993411],
                            zoom: 12
                        });

当我在浏览器上试用时,哪种锻炼效果很好。

但是当我在安卓工作室的Android手机上编译时,我收到了这个错误:

  

'MQ未定义'

它曾经与script / vendor / leaflet-0.7一起使用。

我的猜测是:它以某种方式无法到达库脚本/传单-0.7.7,但我看不出原因。

1 个答案:

答案 0 :(得分:0)

我最终遇到了两个问题,一个是我自己的,另一个可以帮助任何读者:

为了方便起见,这就是答案

就像更改tileUrl一样简单。

替换它:

  

var tileUrl =   'http://otile {S} .mqcdn.com /瓦/ 1.0.0 / OSM / {Z} / {X} / {Y} .PNG X?';

用这个:

  

var tileUrl ='http:// {s} .tile.openstreetmap.org / {z} / {x} / {y} .png';

然后像以前一样使用:

  

L.tileLayer(tileUrl,{})。addTo(map);

@Joel Harris