谷歌地图api没有刷新
Posted
技术标签:
【中文标题】谷歌地图api没有刷新【英文标题】:google map api without refresh 【发布时间】:2013-04-21 16:56:38 【问题描述】:我需要谷歌地图方面的帮助
我想不刷新地图更改标记
我从 mysql 获取数据并创建标记
我的文件:
函数初始化()
var latlng = new google.maps.LatLng(55.472627, 23.15918);
var 地理编码器; 变量映射; 变量标记数组 = []; var infos = [];
var myOptions = 缩放:8, 中心:latlng, mapTypeId:google.maps.MapTypeId.ROADMAP ;
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
var 编码字符串; var stringArray = [];
encodedString = document.getElementById("encodedString").value; stringArray = encodedString.split("**");
变量 x; for (x = 0; x
var addressDetails = [];
addressDetails = stringArray[x].split(",");
var lat = new google.maps.LatLng(addressDetails[0], addressDetails[1]); console.log(lat); console.log(addressDetails[0], addressDetails[1]);
var marker = new google.maps.Marker( map: map, position: lat, icon: addressDetails[2], title: "Atnaujinta: "+addressDetails[3]+"" ); setInterval('updateMap()', 10000); </script> </head> <?php //get data form mysql mysql_connect('localhost', 'adena_root', 'gintariukas1'); mysql_select_db('adena_nav'); $encodedString = ""; $x = 0; $mysql = mysql_query("SELECT X,Y,marker,data FROM nav"); while ($row = mysql_fetch_array($mysql, MYSQL_NUM)) if ( $x == 0 ) $separator = ""; else $separator = "****"; $encodedString = $encodedString.$separator. "".$row[0]. ",".$row[1]. ",".$row[2]. ",".$row[3]; $x = $x + 1; ?> <body onload="initialize()"> <input type="hidden" id="encodedString" name="encodedString" value="<?php echo $encodedString; ?>" /> <div id="map_canvas"></div> </body> </html>
也许有人知道?:)
【问题讨论】:
【参考方案1】:您可以通过使用 AJAX 来做到这一点。首先创建一个单独的页面,以 JSON 格式显示您的地图数据,然后在 javascript 中获取它们以将它们显示到地图上。这是一个不错的教程,虽然它使用 Google Maps v2,但您可以简单地将它们更改为 v3 代码。
AJAX Storing and Retrieving Points – Tutorial
【讨论】:
以上是关于谷歌地图api没有刷新的主要内容,如果未能解决你的问题,请参考以下文章