Javascript 缓存谷歌地图api v2
是否可以在google maps api v2上缓存地理代码? 因为我需要在我的地图上得到6.5公里的标记,使用这个脚本,加载所有标记大约需要20分钟。如果不需要,我们不想使用lat和lng。 如果不可能的话,有没有人知道另一种更快加载它们的方法?我的javascript知识不是很好,因为这是我的第一个脚本 这是我的密码Javascript 缓存谷歌地图api v2,javascript,html,google-maps,google-maps-api-2,Javascript,Html,Google Maps,Google Maps Api 2,是否可以在google maps api v2上缓存地理代码? 因为我需要在我的地图上得到6.5公里的标记,使用这个脚本,加载所有标记大约需要20分钟。如果不需要,我们不想使用lat和lng。 如果不可能的话,有没有人知道另一种更快加载它们的方法?我的javascript知识不是很好,因为这是我的第一个脚本 这是我的密码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>Google Maps JavaScript API Example</title>
<script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAjU0EJWnWPMv7oQ-jjS7dYxTPZYElJSBeBUeMSX5xXgq6lLjHthSAk20WnZ_iuuzhMt60X_ukms-AUg"
type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
//load Google Map
function load() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map"));
var geocoder = new GClientGeocoder();
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
//hier .xml bestand plaatsen voor de adressen
GDownloadUrl("test.xml", function(data, responseCode) {
var xml = GXml.parse(data);
//store markers in markers array
var markers = xml.documentElement.getElementsByTagName("marker");
//loop voor het ophalen van markers
function placeMarker(i) {
//hier die dingen invullen waar hij naar moet zoeken in het .xml bestand
var address = markers[i].getAttribute("address"),
html = markers[i].getAttribute("html");
showAddress(map,geocoder,address,html);
if (++i <= markers.length) {
setTimeout(
function() {
placeMarker(i);
},
//snelheid van de loop hoe hoger het getal hoe langer de loop erover doet om rond te gaan (miliseconden)
210
);
}
}
placeMarker(0);
//Create marker and set up event window
function createMarker(point,html){
var marker = new GMarker(point);
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml(html);
});
return marker;
}
//showAddress zorgt voor het omzetten van de adressen naar lengte en breedte graad
function showAddress(map,geocoder,address,html) {
geocoder.getLatLng(
address,
function(point) {
if (!point) {
alert(address + " niet gevonden, laad de pagina aub opnieuw als het adress van toepassing is.");
} else {
map.setCenter(point, 12);
var marker = createMarker(point,html+'<br/><br/>'+address);
map.addOverlay(marker);
}
}
);
}
}
); //close GDownloadUrl
} //close GBrowserIsCompatible
} //close load
//]]>
</script>
</head>
<body onload="load()" onunload="GUnload()">
<div id="map" style="width: 1000px; height: 700px"></div>
</body>
</html>
在缓存数据方面,谷歌的服务条款非常严格: 10.1.3对数据导出或复制的限制 b不预取、缓存或存储内容。你不能 预取、缓存或存储任何内容,但您可以存储的内容除外:i 有限的内容量,以改进 Maps API实现的性能(如果您暂时这样做), 安全地,以不允许使用内容的方式 服务之外;以及ii任何内容标识符或密钥 Maps API文档特别允许您存储。对于 例如,您不能使用内容创建独立的 “地点”数据库 您可以使用免费的地理编码服务(如webgis服务)对所有标记进行地理编码并存储它们。然后你可以检索这些数据并将其绘制在谷歌地图上 此外,除非有特定的理由使用Google Maps v2,否则我建议切换到,因为v2不再受支持