我正在使用最新的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");
}
我想这会有帮助
备选方案:
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