Установите и масштабируйте карту страны динамически в AMMAP
Я работаю с последней версией jmap для ammap и пытаюсь найти правильную страну для загрузки при загрузке страницы. Я знаю, что вы можете загрузить нужную страну, просто загрузив правильный файл страны js
<script src="/js/ammap/maps/js/australiaLow.js"></script>
а затем правильно установите поставщик данных
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"));
есть идеи как это сделать?
5 ответов
У меня была такая же потребность, и в итоге я использовал метод clickMapObject для имитации щелчка по объекту карты, с которого я хотел начать:
var mapObject = map.getObjectById('US');
map.clickMapObject(mapObject);
Когда я загружаю страницу, она приближается к выбранной стране (США).
В соответствии с их страницей советов http://www.amcharts.com/tips/auto-zoom-country-map-loads/ самое простое решение IMO - установить linkToObject
в dataProvider
:
"dataProvider": {
"map": "worldLow",
"getAreasFromMap": true,
"linkToObject": "US"
},
Альтернативное решение:
map.zoomToGroup([map.getObjectById('RO')]);
Карта начнется с увеличения выбранного региона.
map.addListener("clickMapObject", function (event) {
if (event.mapObject.id == "FR") {
loadNewMap("http://www.ammap.com/lib/maps/js/franceLow.js", "franceLow");
}
Я думаю это поможет
Мое решение:
http://kirmizikaya.net/blog/ammap-dynamically-load-map-of-the-country-on-click/
....... $.getScript (имя файла, функция (data, textStatus, jqxhr) {}) .done(функция (script, textStatus) { var dataProvider = { mapVar: eval(mapVar), getAreasFromMap: true, }; // ilgili ülkenin haritasını bağlayalım map.dataProvider = dataProvider; // харита юкленсин map.validateData(); }); ... ......