这是我的谷歌地图代码:
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width,minimum-scale=0.3,maximum-scale=5.0,user-scalable=yes">
</head>
<body onload="initialize()" onunload="GUnload()">
<style type="text/css">
*{
margin:0;
padding:0;
}
</style>
<!--<div style="width:100px;height:100px;background:blue;"> </div>-->
<div id="map_canvas" style="width: 500px; height: 300px;"></div>
<script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAA-7cuV3vqp7w6zUNiN_F4uBRi_j0U6kJrkFvY4-OX2XYmEAa76BSNz0ifabgugotzJgrxyodPDmheRA&sensor=false"type="text/javascript"></script>
<script type="text/javascript">
var aFn;
//**********
function initialize() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map_canvas"));
var g = new GGeoXml("b.kml");
map.addOverlay(g);
var center=new GLatLng(37.42228990140251,-122.0822035425683);
map.setCenter(center, 0);
}
}
//*************
</script>
</body>
</html>
这是我的b.kml文件:
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Placemark>
<name>Simple placemark</name>
<description>Attached to the ground. Intelligently places itself
at the height of the underlying terrain.</description>
<Point>
<coordinates>-122.0822035425683,37.42228990140251,0</coordinates>
</Point>
</Placemark>
</kml>
为什么不能表明这一点......
感谢
答案 0 :(得分:0)
我的第一个想法是你错过了<Document></Document>
- 但是看着文档,我不确定这是对的。
使用mime类型b.kml
提供application/vnd.google-earth.kml+xml
吗?看一下文档,似乎这是一个要求:
http://code.google.com/apis/kml/documentation/kml_tut.html#kml_server
其他想法:
b.kml
调用new GGeoXml("b.kml")
b.kml
答案 1 :(得分:0)
您需要将可公开访问的网址提供给.kml文件。
你不会在firebug中看到它的请求。地图api从谷歌请求资源并传递您的kml文件的名称。谷歌把它拉进他们的服务器并处理它并将json传送到你页面中的地图。
IMHO。 YMMV