GM 面积计算

Google Map 面积测算
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="style.css"></link>
<script
src="/maps?file=api&v=2&key=ABQIAAAAzr2EBOXUKnm_jVnk0OJI7xSosDVG8KKPE1-m51RBrvYughuyMxQ-i1QfUnH94QxWIa6N4U6MouMmBA&hl=zh-CN"
type="text/javascript"></script>
<style type="text/css">
v\:* { behavior:url(#default#VML); }
body { font-family: Verdana; }
h3 { margin-left: 8px; }
#map { height: 400px;
width: 550px;
border: 1px solid gray;
margin-top: 8px;
margin-left: 8px;
}
.button { display: block;
width: 180px;
border: 1px Solid #565;
background-color:#F5F5F5;
padding: 3px;神鬼八阵图电视剧全集免费
text-decoration: none;
text-align:center;
font-size:smaller;
}
.button:hover {
background-color: white;
}
#descr { position:absolute;
top:44px;
left: 580px;
width: 250px;
}
</style>
</head>
<body onload="load()" onunload="GUnload()">
<div id="map" ></div>
<table id="descr" border="0" cellspacing="10" cellpadding="1">
<tr>
<td ><font color="#ff0000">
面积为:</span></font>
</td>
</tr>
<tr>
<td id="status"><font color="#ff0000">
</font></td>
</tr>
<tr>
<td height="20">
</td>
</tr>
<tr>
<td>
<a href="#" class="button" onclick="zoomToPoly();return false;">多边形测面积</a>
</td>
</tr>
<tr>
<td>
<a href="#" class="button" onclick="clearPoly();return false;">清除</a>
</td>
</tr>
</table>
</body>
<script type="text/javascript">
var cenx = 41.76583333;
var ceny =123.4136111;
var stzoom=13;
var map;
var polyShape;
var polyLineColor = "#68228B";
var polyFillColor = "#00CD00";
var polyPoints = new Array();
var markers = new Array();
var report = ElementById("status");
function load(){
//检查浏览器的兼容性.
if (GBrowserIsCompatible()){
map=new ElementById("map"), {draggableCursor:'crosshair', draggingCursor:'move'});
//设置地图的中心坐标.
var loc = new GLatLng(cenx,ceny);
map.setCenter(loc, stzoom);
map.setMapType(G_HYBRID_MAP);
//设置地图的缩放工具.
map.setUIToDefault();
map.disableDoubleClickZoom();
drawPoly();
}
}
function addIcon(icon) {
icon.iconSize = new GSize(11, 11);
icon.dragCrossSize = new GSize(0, 0);
icon.shadowSize = new GSize(11, 11);
icon.iconAnchor = new GPoint(5, 5);
}
function drawPoly() {
if(polyShape) veOverlay(polyShape);
polyPoints.length = 0;
var points = [];
points[0] = new GLatLng(41.76583333,123.4136111);
points[1] = new GLatLng(41.76583333,123.4144444);
points[2] = new GLatLng(41.76472222,123.4144444);
var markers = [];
for (var i = 0; i < points.length; i++) {
markers[i] = new GMarker(points[i]);
//将该标注添加至地图
map.addOverlay(markers[i]);
}
for(i = 0; i < markers.length; i++) {
polyPoints.push(markers[i].getLatLng());
}
// 关闭多边形
polyShape = new GPolygon(polyPoints, polyLineColor, 3, .8, polyFillColor,.3);
var unit = " km²";
var area = Area()/(1000*1000);
if(markers.length <= 2 ) {
report.innerHTML = " ";
}
else if(markers.length > 2 ) {
report.innerHTML = Fixed(3)+ unit;
}
map.addOverlay(polyShape);
}
function zoomToPoly() {
drawPoly();
if(polyShape && polyPoints.length > 0) {
var bounds = Bounds();
map.Center());
map.BoundsZoomLevel(bounds));
}
}
function clearPoly() {
//清除面积,同时初始化文字
map.clearOverlays();
polyPoints.length = 0;
markers.length = 0;
report.innerHTML = " ";
}
</script>
</html>
