2013-06-20 115 views
3

我正在使用最新的JavaScript版本的ammap,並試圖在加載頁面時加載正確的國家/地區。我知道的事實,你可以加載正確的國家通過簡單地加載正確的國家js文件在AMMAP中動態設置和放大國家/地區地圖

<script src="/js/ammap/maps/js/australiaLow.js"></script> 

,然後設置dataProvider正確

var dataProvider = { 
mapVar: AmCharts.maps.australiaLow, 
getAreasFromMap: true 
}; 

但我的目標是開始continentsLow和通過使用javascript深入到正確的國家和用戶的交互。這是因爲用戶應該能夠在所有級別上導航,並且地圖應該相應地加載。

<script src="/js/ammap/maps/js/australiaLow.js"></script> 

它與本示例頁面類似,但在本例中。但在這個例子中,你必須點擊才能看到正確的國家。 http://www.ammap.com/javascript-maps/zooming-to-countries-map/ 我試圖加載地圖並設置它,然後重新加載ammap但沒有成功。

map.selectObject(map.getObjectById("AU")); 

任何想法如何做到這一點?

回答

1

我有同樣的需要,我結束了使用clickMapObject方法模擬地圖對象,我想在點擊這樣做,開始了與:

var mapObject = map.getObjectById('US'); 
map.clickMapObject(mapObject); 

當我加載網頁時,放大到我選擇的國家(美國)。

1

map.addListener("clickMapObject", function (event) { if (event.mapObject.id == "FR") { loadNewMap("http://www.ammap.com/lib/maps/js/franceLow.js", "franceLow"); }

jsfiddle demo

我認爲這將有助於

1

替代解決方案:

map.zoomToGroup([map.getObjectById('RO')]); 

地圖將開始在放大所選擇的區域

0

我的解決辦法:

http://kirmizikaya.net/blog/ammap-dynamically-load-map-of-the-country-on-click/

 
.. 
..... 
$.getScript(filename, function (data, textStatus, jqxhr) {}) 
.done(function (script, textStatus) 
{ 
     var dataProvider = { 
     mapVar: eval(mapVar), 
     getAreasFromMap: true, 
    }; 
     // ilgili ülkenin haritasını bağlayalım 
     map.dataProvider = dataProvider; 
     //harita yüklensin 
map.validateData(); 
}); 
... 
...... 
相關問題