我正在使用ammap的最新javascript版本,我正在尝试在加载页面时加载正确的国家/地区。我知道您只需加载正确的国家/地区js文件即可加载正确的国家/地区
<script src="/js/ammap/maps/js/australiaLow.js"></script>
然后正确设置数据提供者
var dataProvider = {
mapVar: AmCharts.maps.australiaLow,
getAreasFromMap: true
};
但我的目标是从各大洲开始,并使用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"));
知道怎么做吗?
答案 0 :(得分:2)
我有同样的需求,我最终做的是使用clickMapObject方法来模拟我希望它开始的地图对象的点击:
var mapObject = map.getObjectById('US');
map.clickMapObject(mapObject);
当我加载页面时,它会缩放到我选择的国家(美国)。
答案 1 :(得分:2)
根据他们的提示页http://www.amcharts.com/tips/auto-zoom-country-map-loads/,最简单的解决方案IMO是在linkToObject
中设置dataProvider
:
"dataProvider": {
"map": "worldLow",
"getAreasFromMap": true,
"linkToObject": "US"
},
答案 2 :(得分:1)
map.addListener("clickMapObject", function (event) {
if (event.mapObject.id == "FR") {
loadNewMap("http://www.ammap.com/lib/maps/js/franceLow.js", "franceLow");
}
我认为这会有所帮助
答案 3 :(得分:1)
替代解决方案:
map.zoomToGroup([map.getObjectById('RO')]);
地图将从放大的选定区域开始。
答案 4 :(得分: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(); }); ... ......