2016-08-22 44 views
0

我不得不接管和Android應用程序與PhoneGap的工作 - 單張/ MapQuest的/ OpenStreetMap的的MapQuest:MQ沒有定義

它打破了,因爲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手機與Android工作室在我得到這個錯誤:

「MQ沒有定義」

它採用做工精細的腳本/供應商/ leaflet- 0.7。

我瘋狂的猜測是:它以某種方式沒有達到庫腳本/ leaflet-0.7.7,但我不明白爲什麼。

回答

0

我結束了有2個問題,我自己的一個又一個,可以幫助任何讀者:

爲了容易的緣故這就是答案

這是爲改變你的tileUrl一樣簡單。

替換此:

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

與此:

變種tileUrl =的 'http:// {S} .tile.openstreetmap.org/{Z}/{X}/{Y} png格式';

如前所述然後使用:

L.tileLayer(tileUrl,{})。AddTo就(地圖);

@Joel哈里斯

+1

您是說您只需通過OSM磚代替MQ開磚(已停產)。確保您的應用不會在這些免費磁貼上產生過多流量(請參閱OSM條款)。如果您計劃高流量,則應考慮商業服務(MapQuest,Mapbox等)的付費計劃,否則OSM可能會限制/禁止您的訪問。 – ghybs