我是编码部分的新手。所以我需要你的善意。
如何使用IFRAME
标记从父HTML页面在一个HTML页面(例如:MapView.html)中重新初始化加载的Google地图API?
是否有可能重新加载Google地图以在不按F5键的情况下在新页面中查看更新的标记?
答案 0 :(得分:2)
iframe部分非常难以使用iframe基本上用于接受来自外部源的内容而不进行任何更改。如果您在使用它的每个页面中注入使用Google Map的脚本会更容易。
我不太明白你的意思是父HTML :(如果是单页应用程序而子HTML是父级的子视图,你可以访问父HTML的控制器,但我有感觉事实并非如此:)
因此,通常您可以使用JavaScript重新初始化地图。在API参考中查看所有选项: https://developers.google.com/maps/documentation/javascript/3.exp/reference
如果您可以在子HTML中创建地图,可以通过以下方式创建和更新标记:
var map = new google.maps.Map(document.getElementById('map'), yourMapOptions); // This is the map initiation in a #map element
var marker = new google.maps.Marker({
position: new google.maps.LatLng(...), // the old position
map: map, // The map you created in your element by new google.maps.Map(...)
icon: 'assets/marker.png',
title: 'This is the pointer',
});
setTimeout(function() {
marker.position = new google.maps.LatLng(...); // new position
marker.setMap(map); // This reinitializes the marker
}, 10000); // For this example I set a 10s timeout
很抱歉,如果iframe是一个重要的东西,但没有任何代码,我认为这可以帮助你而不是黑客攻击iframe。