MapQuest:未定义 MQ

MapQuest : MQ is not defined

我不得不接管 android 应用程序与 phonegap 一起工作 - leaflet/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>

在以下结构中:

还有我的 JS :

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

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

但是当我在 android phone 上用 Android studio 编译时,我得到这个错误:

'MQ is not defined'

它曾经与 scripts/vendor/leaflet-0.7 一起工作得很好。

我的大胆猜测是:它不知何故没有到达图书馆 scripts/leaflet-0.7.7,但我不明白为什么。

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

为了简单起见,这就是答案

就像更改 tileUrl 一样简单。

替换为:

var tileUrl = 'http://otile{s}.mqcdn.com/tiles/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