google map用工厂方法显示多边形
某书随书光盘里有这样一段代码,是用工厂方法GPolygon.fromEncoded()显示google地图上的多边形,可是总出现错误,length为空或不为对象(换成一般...
某书随书光盘里有这样一段代码,是用工厂方法GPolygon.fromEncoded()显示google 地图上的多边形,可是总出现错误,length为空或不为对象(换成一般方法时就可以正常显示多边形),请高手帮我解决。
<!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" xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>Google Maps JavaScript API Example</title>
<!--导入Google Maps API库文件。注意将本代码中的API Key替换为前文申请到的API Key-->
<script src="http://maps.google.com/maps?file=api&v=2.78&key=ABQIAAAA1j86tnUDFv8OAtC8dZVtKRT2yXp_ZAY8_ufC3CFXhHIE1NvwkxSzmwrQ90SNUILzGRpsBiaa860gfQ"
type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
//声明GMap对象
var map;
//声明GPolygon对象
var polygon;
function load()
{
if (GBrowserIsCompatible())
{
map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(39.92, 116.46), 4);
}
}
function addPolygonEncoded(){
polygon = new GPolygon.fromEncoded({
color: "#FF00FF",
polylines: [
"_{srF_byeUnq`~@~np{@~qsHozbuA"
]
});
map.addOverlay(polygon);
}
function removePolygon(){
polygon.remove();
}
//]]>
</script>
</head>
<!--加载时调用load()函数加载地图,注意加上onunload="GUnload()"防止内存泄露-->
<body onload="load()" onunload="GUnload()">
<!--以下id为map的DIV元素即为Google地图的容器-->
<div id="map" style="width: 500px; height: 400px;"></div>
<p>
<input type="button" value="添加编码后的polygon" onclick="addPolygonEncoded()" />
<input type="button" value="移除编码后的polygon" onclick="removePolygon()" />
</p>
</body>
</html> 展开
<!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" xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>Google Maps JavaScript API Example</title>
<!--导入Google Maps API库文件。注意将本代码中的API Key替换为前文申请到的API Key-->
<script src="http://maps.google.com/maps?file=api&v=2.78&key=ABQIAAAA1j86tnUDFv8OAtC8dZVtKRT2yXp_ZAY8_ufC3CFXhHIE1NvwkxSzmwrQ90SNUILzGRpsBiaa860gfQ"
type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
//声明GMap对象
var map;
//声明GPolygon对象
var polygon;
function load()
{
if (GBrowserIsCompatible())
{
map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(39.92, 116.46), 4);
}
}
function addPolygonEncoded(){
polygon = new GPolygon.fromEncoded({
color: "#FF00FF",
polylines: [
"_{srF_byeUnq`~@~np{@~qsHozbuA"
]
});
map.addOverlay(polygon);
}
function removePolygon(){
polygon.remove();
}
//]]>
</script>
</head>
<!--加载时调用load()函数加载地图,注意加上onunload="GUnload()"防止内存泄露-->
<body onload="load()" onunload="GUnload()">
<!--以下id为map的DIV元素即为Google地图的容器-->
<div id="map" style="width: 500px; height: 400px;"></div>
<p>
<input type="button" value="添加编码后的polygon" onclick="addPolygonEncoded()" />
<input type="button" value="移除编码后的polygon" onclick="removePolygon()" />
</p>
</body>
</html> 展开
4个回答
展开全部
GEvent.addListener(map, "click", function(overlay,latlng) {
var lat = latlng.lat();
var lon = latlng.lng();
var latOffset = 0.01;
var lonOffset = 0.01;
var polygon = new GPolygon([
new GLatLng(lat, lon - lonOffset),
new GLatLng(lat + latOffset, lon),
new GLatLng(lat, lon + lonOffset),
new GLatLng(lat - latOffset, lon),
new GLatLng(lat, lon - lonOffset)
], "#f33f00", 5, 1, "#ff0000", 0.2);
map.addOverlay(polygon);
});
var lat = latlng.lat();
var lon = latlng.lng();
var latOffset = 0.01;
var lonOffset = 0.01;
var polygon = new GPolygon([
new GLatLng(lat, lon - lonOffset),
new GLatLng(lat + latOffset, lon),
new GLatLng(lat, lon + lonOffset),
new GLatLng(lat - latOffset, lon),
new GLatLng(lat, lon - lonOffset)
], "#f33f00", 5, 1, "#ff0000", 0.2);
map.addOverlay(polygon);
});
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
AiPPT
2024-09-19 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
展开全部
var latOffset = 0.01;
var lonOffset = 0.01;
var polygon = new GPolygon([
new GLatLng(lat, lon - lonOffset),
new GLatLng(lat + latOffset, lon),
new GLatLng(lat, lon + lonOffset),
new GLatLng(lat - latOffset, lon),
new GLatLng(lat, lon - lonOffset)
], "#f33f00", 5, 1, "#ff0000", 0.2);
map.addOverlay(polygon);
var lonOffset = 0.01;
var polygon = new GPolygon([
new GLatLng(lat, lon - lonOffset),
new GLatLng(lat + latOffset, lon),
new GLatLng(lat, lon + lonOffset),
new GLatLng(lat - latOffset, lon),
new GLatLng(lat, lon - lonOffset)
], "#f33f00", 5, 1, "#ff0000", 0.2);
map.addOverlay(polygon);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<!--导入Google Maps API库文件。注意将本代码中的API Key替换为前文申请到的API Key-->
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
d
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询