3

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

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

知道怎么做吗?

4

5 回答 5

3

我有同样的需求,我最终做的是使用 clickMapObject 方法来模拟对我希望它开始的地图对象的点击:

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

当我加载页面时,它会放大到我选择的国家(美国)。

于 2014-05-24T02:47:01.900 回答
2

根据他们的提示页面http://www.amcharts.com/tips/auto-zoom-country-map-loads/linkToObject IMO最简单的解决方案是设置dataProvider

"dataProvider": {
    "map": "worldLow",
    "getAreasFromMap": true,
    "linkToObject": "US"
},
于 2015-11-28T16:28:47.570 回答
1

替代解决方案:

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

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

于 2014-08-04T06:46:10.800 回答
1

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

jsfiddle 演示

我认为这会有所帮助

于 2014-07-17T05:30:29.457 回答
0

我的解决方案:

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

..
......
$.getScript(filename, function (data, textStatus, jqxhr) {})
 .done(函数(脚本,文本状态)
 {
       var 数据提供者 = {
       mapVar:评估(mapVar),
       getAreasFromMap:真,
     };
      // ilgili ülkenin haritasını bağlayalım
      map.dataProvider = 数据提供者;
      //harita yüklensin
map.validateData();
});
...
……
于 2016-09-07T18:22:54.980 回答