在AMMAP中动态设置和缩放国家地图

Set and zoom country map dynamically in AMMAP

本文关键字:缩放 国家 地图 设置 AMMAP 动态      更新时间:2023-09-26

我正在使用最新的javascript版本的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/我试图加载地图并设置它,然后重新加载地图,但没有成功。

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

你知道怎么做吗?

我也有同样的需求,我最终做的是使用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.addListener("clickMapObject", function (event) { if (event.mapObject.id == "FR") { loadNewMap("http://www.ammap.com/lib/maps/js/franceLow.js", "franceLow"); }

jsfiddle演示

我想这会有帮助

备选方案:

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

地图将从选定区域开始放大。

我的解决方案:

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:没错,};//ilgili lkenin haritasını bağlayalım地图。dataProvider = dataProvider;//harita yuklensinmap.validateData ();});………