Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google maps 如何重新初始化谷歌地图API?_Google Maps_Google Maps Api 3 - Fatal编程技术网

Google maps 如何重新初始化谷歌地图API?

Google maps 如何重新初始化谷歌地图API?,google-maps,google-maps-api-3,Google Maps,Google Maps Api 3,我是新来的编码部分。所以我需要你的想法 如何使用IFRAME标记从父HTML页面在一个HTML页面(例如:MapView.HTML)中重新初始化加载的Google map API 有没有可能在不按F5键的情况下重新加载Google地图以查看新页面中更新的标记?iframe部分非常困难,因为iframe基本上用于接受来自外部源的内容,而不进行任何更改。如果你在你使用的每一个页面中都注入使用谷歌地图的脚本,那就容易多了 我不太明白你所说的父HTML是什么意思:(如果它是一个单页应用程序,而子HTML

我是新来的编码部分。所以我需要你的想法

如何使用
IFRAME
标记从父HTML页面在一个HTML页面(例如:MapView.HTML)中重新初始化加载的Google map API


有没有可能在不按F5键的情况下重新加载Google地图以查看新页面中更新的标记?

iframe部分非常困难,因为iframe基本上用于接受来自外部源的内容,而不进行任何更改。如果你在你使用的每一个页面中都注入使用谷歌地图的脚本,那就容易多了

我不太明白你所说的父HTML是什么意思:(如果它是一个单页应用程序,而子HTML是父HTML的子视图,那么你可以访问父HTML的控制器,但我感觉情况并非如此:)

因此,通常可以使用JavaScript重新初始化映射。查看API参考中的所有选项:

如果可以在子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更有帮助。

您可以使用javascript…感谢您的回复。。。但是你能用一些例子解释一下吗…你能给我们展示一下你的代码吗?谢谢你的努力。。。我需要在不使用setTimeout()的情况下重新初始化,即通过手动方式…您不需要超时:),这只是一个展示。您可以定义一个函数,并将其称为onclick或windowresize或任何您想要的函数。主要问题是,如果使用iframe,则与地图没有太多关系,因为您只提供内容。如果您使用自己的脚本创建地图,您就可以执行GoogleAPI允许的任何操作。示例显示在setTimeout内的回调函数中。对你来说最重要的部分是“marker.setMap()”。谢谢你的回复。。。我通过再次调用initialization()方法,而不是将整个HTML页面加载到。它只加载谷歌地图及其标记的内容。。。。