<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>多边形的使用(添加、更新、删除)</title>
<link rel="stylesheet" type="text/css" href="http://developer.amap.com/Public/css/demo.Default.css" />
<script language="javascript" src="http://webapi.amap.com/maps?v=1.3&key=http://webapi.amap.com/maps?v=1.3&key=c8d354b30f45cf231d3ab811208ed7fa"></script>
<script language="javascript">
var mapObj,polygon;
//初始化地图对象,加载地图
function mapInit(){
mapObj = new AMap.Map("iCenter",{
view: new AMap.View2D({
center:new AMap.LngLat(115.728674,27.610598),//地图中心点
zoom:6 //地图显示的缩放级别
})
});
}
//添加多边形覆盖物
function addPolygon(lnglat1,lnglat2,lnglat3,fillcolor){ var polygonArr=new Array();//多边形覆盖物节点坐标数组
polygonArr.push(new AMap.LngLat(lnglat1.split(",")[0],lnglat1.split(",")[1]));
polygonArr.push(new AMap.LngLat(lnglat2.split(",")[0],lnglat2.split(",")[1]));
polygonArr.push(new AMap.LngLat(lnglat3.split(",")[0],lnglat3.split(",")[1]));
polygon=new AMap.Polygon({
path:polygonArr,//设置多边形边界路径
strokeColor:"#FF33FF", //线颜色
strokeOpacity:0.2, //线透明度
strokeWeight:3, //线宽
fillColor: fillcolor, //填充色
fillOpacity: 1//填充透明度
});
polygon.setMap(mapObj);
}
function addPolygon1(){
addPolygon("115.728674,27.610598","116.256017,27.595994","115.920934,27.142316","#1791fc");
}
function addPolygon2(){
addPolygon("115.920934,27.142316","116.470251,27.166755","116.310949,26.799618","#3366FF");
}
function addPolygon3(){
addPolygon("115.920934,27.13254","115.871496,26.716234","115.503454,26.931925","#1791fc");
}
function addPolygon4(){
addPolygon("115.909948,27.142316","115.508947,27.44985","115.300207,27.171642","#3366FF");
}
</script>
</head>
<body onLoad="mapInit()">
<div id="iCenter"></div>
<div style="padding:2px 0px 0px 5px;font-size:12px">
<input type="button" value="添加多边形覆盖物1" onClick="javascript:addPolygon1()"/>
<input type="button" value="添加多边形覆盖物2" onClick="javascript:addPolygon2()"/>
<input type="button" value="添加多边形覆盖物3" onClick="javascript:addPolygon3()"/>
<input type="button" value="添加多边形覆盖物4" onClick="javascript:addPolygon4()"/>
</div>
</body>
</html>
<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://ditu.google.cn/maps?file=api&v=2&key=abcdefg&sensor=true_or_false" type="text/javascript"> </script>
<script type="text/javascript">
function intialize(){
if(GBrowserIsCompatible()){
//
GPolygon.Sector = function(point, radius, sDegree, eDegree, strokeColour, strokeWeight,Strokepacity, fillColour, fillOpacity, opts) {
var points = [];
var step = ((eDegree - sDegree) / 10) || 10;
points.push(point);
for(var i=sDegree;i<eDegree + 0.001;i+=step){
points.push(EOffsetBearing(point,radius,i));
}
points.push(point);
return new GPolygon(points, strokeColour, strokeWeight,Strokepacity, fillColour, fillOpacity, opts);
}
GPolyline.Sector = function(point, radius, sDegree, eDegree, colour, weight, opacity,opts) {
var points = [];
var step = ((eDegree - sDegree) / 10) || 10;
points.push(point);
for(var i=sDegree;i<eDegree + 0.001;i+=step){
points.push(EOffsetBearing(point,radius,i));
}
points.push(point);
return new GPolyline(points, colour, weight, opacity, opts);
}
// var map = new GMap2(document.getElementById("map_canvas"));
// map.setCenter(new GLatLng(39.9493, 116.3975),13);//
var map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(43,-79.5),7);
map.addControl(new GMapTypeControl());
map.addControl(new GLargeMapControl());
map.addControl(new GScaleControl());
// === Circle ===
var point = new GLatLng(44,-81);
map.addOverlay(GPolyline.Circle(point,30000));
// === Square ===
var point = new GLatLng(44,-80);
map.addOverlay(GPolyline.RegularPoly(point,30000,4,0,"#ff0000",8,1));
// === 7-pointed star ===
var point = new GLatLng(44,-79);
map.addOverlay(GPolyline.Star(point,30000,10000,7,0,"#0000ff",3,1));
// ==- Tilted rectangles ===
var point = new GLatLng(44,-78);
map.addOverlay(GPolygon.Shape(point,50000,10000,50000,10000,-60,4,"#000000",3,1,"#ffffff",1,{},true));
map.addOverlay(GPolyline.Shape(point,50000,10000,50000,10000,30,4,"#000000",3,1,{},true));
// === Filled Circle ===
var point = new GLatLng(43,-81);
map.addOverlay(GPolygon.Circle(point,30000,"#000000",3,1,"#00ff00",0.5));
// === Pentagon ===
var point = new GLatLng(43,-80);
map.addOverlay(GPolygon.RegularPoly(point,30000,5,0,"#008800",4,1,"#00ff00",0.5));
// === 5-pointed Star ===
var point = new GLatLng(43,-79);
map.addOverlay(GPolygon.Star(point,30000,10000,5,0,"#000000",3,1,"#ff0000",0.5));
// === Ellipse ===
var point = new GLatLng(43,-78);
map.addOverlay(GPolygon.Ellipse(point,30000,10000,-45,"#000000",2,1,"#ffff00",0.5));
// === Elliptical flash ===
var point = new GLatLng(42,-81);
map.addOverlay(GPolygon.Shape(point,50000,25000,45000,20000,60,100,"#FF0000",3,1,"#FFFF00",0.5));
// === 增加画扇形的方法 ===
var point = new GLatLng(42,-80);
//map.addOverlay(GPolyline.Shape(point,30000,30000,-30000,-30000,0,10,"#000000",3,1));
map.addOverlay(GPolyline.Sector(point,30000,0,45,"#000000",3,1,"#00ff00",0.5));
map.addOverlay(GPolygon.Sector(point,30000,90,135,"#000000",3,1,"#00ff00",0.5));
map.addOverlay(GPolyline.Sector(point,30000,180,225,"#000000",3,1,"#00ff00",0.5));
map.addOverlay(GPolygon.Sector(point,30000,270,315,"#000000",3,1,"#00ff00",0.5));
// === Hexagonal grid ===
var point = new GLatLng(42,-78.8);
map.addOverlay(GPolygon.RegularPoly(point,25000,6,90,"#000000",1,1,"#00ff00",0.5));
var d=2*25000*Math.cos(Math.PI/6);
map.addOverlay(GPolygon.RegularPoly(EOffsetBearing(point,d, 30),25000,6,90,"#000000",1,1,"#00ffff",0.5));
map.addOverlay(GPolygon.RegularPoly(EOffsetBearing(point,d, 90),25000,6,90,"#000000",1,1,"#ffff00",0.5));
map.addOverlay(GPolygon.RegularPoly(EOffsetBearing(point,d,150),25000,6,90,"#000000",1,1,"#00ffff",0.5));
map.addOverlay(GPolygon.RegularPoly(EOffsetBearing(point,d,210),25000,6,90,"#000000",1,1,"#ffff00",0.5));
map.addOverlay(GPolygon.RegularPoly(EOffsetBearing(point,d,270),25000,6,90,"#000000",1,1,"#ffff00",0.5));
map.addOverlay(GPolygon.RegularPoly(EOffsetBearing(point,d,330),25000,6,90,"#000000",1,1,"#ffff00",0.5));
map.addOverlay(GPolygon.RegularPoly(EOffsetBearing(EOffsetBearing(point,d,30),d,90),25000,6,90,"#000000",1,1,"#ff0000",0.5));
map.addOverlay(GPolygon.RegularPoly(EOffsetBearing(EOffsetBearing(point,d,150),d,90),25000,6,90,"#000000",1,1,"#0000ff",0.5));
map.addOverlay(GPolygon.RegularPoly(EOffsetBearing(EOffsetBearing(point,d,90),d,90),25000,6,90,"#000000",1,1,"#00ff00",0.5));
}
} </script>
</head>
<body onload="intialize()" onunload="GUnload()">
<div id="map_canvas" style="width: 500px; height: 500px;"></div>
<div id="map" style="width: 500px; height: 500px;"></div>
</body>
</html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>多边形的使用(添加、更新、删除)</title>
<link rel="stylesheet" type="text/css" href="http://developer.amap.com/Public/css/demo.Default.css" />
<script language="javascript" src="http://webapi.amap.com/maps?v=1.3&key=http://webapi.amap.com/maps?v=1.3&key=c8d354b30f45cf231d3ab811208ed7fa"></script>
<script language="javascript">
var mapObj,polygon;
//初始化地图对象,加载地图
function mapInit(){
mapObj = new AMap.Map("iCenter",{
view: new AMap.View2D({
center:new AMap.LngLat(115.728674,27.610598),//地图中心点
zoom:6 //地图显示的缩放级别
})
});
}
//添加多边形覆盖物
function addPolygon(lnglat1,lnglat2,lnglat3,fillcolor){ var polygonArr=new Array();//多边形覆盖物节点坐标数组
polygonArr.push(new AMap.LngLat(lnglat1.split(",")[0],lnglat1.split(",")[1]));
polygonArr.push(new AMap.LngLat(lnglat2.split(",")[0],lnglat2.split(",")[1]));
polygonArr.push(new AMap.LngLat(lnglat3.split(",")[0],lnglat3.split(",")[1]));
polygon=new AMap.Polygon({
path:polygonArr,//设置多边形边界路径
strokeColor:"#FF33FF", //线颜色
strokeOpacity:0.2, //线透明度
strokeWeight:3, //线宽
fillColor: fillcolor, //填充色
fillOpacity: 1//填充透明度
});
polygon.setMap(mapObj);
}
function addPolygon1(){
addPolygon("115.728674,27.610598","116.256017,27.595994","115.920934,27.142316","#1791fc");
}
function addPolygon2(){
addPolygon("115.920934,27.142316","116.470251,27.166755","116.310949,26.799618","#3366FF");
}
function addPolygon3(){
addPolygon("115.920934,27.13254","115.871496,26.716234","115.503454,26.931925","#1791fc");
}
function addPolygon4(){
addPolygon("115.909948,27.142316","115.508947,27.44985","115.300207,27.171642","#3366FF");
}
</script>
</head>
<body onLoad="mapInit()">
<div id="iCenter"></div>
<div style="padding:2px 0px 0px 5px;font-size:12px">
<input type="button" value="添加多边形覆盖物1" onClick="javascript:addPolygon1()"/>
<input type="button" value="添加多边形覆盖物2" onClick="javascript:addPolygon2()"/>
<input type="button" value="添加多边形覆盖物3" onClick="javascript:addPolygon3()"/>
<input type="button" value="添加多边形覆盖物4" onClick="javascript:addPolygon4()"/>
</div>
</body>
</html>
<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://ditu.google.cn/maps?file=api&v=2&key=abcdefg&sensor=true_or_false" type="text/javascript"> </script>
<script type="text/javascript">
function intialize(){
if(GBrowserIsCompatible()){
//
GPolygon.Sector = function(point, radius, sDegree, eDegree, strokeColour, strokeWeight,Strokepacity, fillColour, fillOpacity, opts) {
var points = [];
var step = ((eDegree - sDegree) / 10) || 10;
points.push(point);
for(var i=sDegree;i<eDegree + 0.001;i+=step){
points.push(EOffsetBearing(point,radius,i));
}
points.push(point);
return new GPolygon(points, strokeColour, strokeWeight,Strokepacity, fillColour, fillOpacity, opts);
}
GPolyline.Sector = function(point, radius, sDegree, eDegree, colour, weight, opacity,opts) {
var points = [];
var step = ((eDegree - sDegree) / 10) || 10;
points.push(point);
for(var i=sDegree;i<eDegree + 0.001;i+=step){
points.push(EOffsetBearing(point,radius,i));
}
points.push(point);
return new GPolyline(points, colour, weight, opacity, opts);
}
// var map = new GMap2(document.getElementById("map_canvas"));
// map.setCenter(new GLatLng(39.9493, 116.3975),13);//
var map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(43,-79.5),7);
map.addControl(new GMapTypeControl());
map.addControl(new GLargeMapControl());
map.addControl(new GScaleControl());
// === Circle ===
var point = new GLatLng(44,-81);
map.addOverlay(GPolyline.Circle(point,30000));
// === Square ===
var point = new GLatLng(44,-80);
map.addOverlay(GPolyline.RegularPoly(point,30000,4,0,"#ff0000",8,1));
// === 7-pointed star ===
var point = new GLatLng(44,-79);
map.addOverlay(GPolyline.Star(point,30000,10000,7,0,"#0000ff",3,1));
// ==- Tilted rectangles ===
var point = new GLatLng(44,-78);
map.addOverlay(GPolygon.Shape(point,50000,10000,50000,10000,-60,4,"#000000",3,1,"#ffffff",1,{},true));
map.addOverlay(GPolyline.Shape(point,50000,10000,50000,10000,30,4,"#000000",3,1,{},true));
// === Filled Circle ===
var point = new GLatLng(43,-81);
map.addOverlay(GPolygon.Circle(point,30000,"#000000",3,1,"#00ff00",0.5));
// === Pentagon ===
var point = new GLatLng(43,-80);
map.addOverlay(GPolygon.RegularPoly(point,30000,5,0,"#008800",4,1,"#00ff00",0.5));
// === 5-pointed Star ===
var point = new GLatLng(43,-79);
map.addOverlay(GPolygon.Star(point,30000,10000,5,0,"#000000",3,1,"#ff0000",0.5));
// === Ellipse ===
var point = new GLatLng(43,-78);
map.addOverlay(GPolygon.Ellipse(point,30000,10000,-45,"#000000",2,1,"#ffff00",0.5));
// === Elliptical flash ===
var point = new GLatLng(42,-81);
map.addOverlay(GPolygon.Shape(point,50000,25000,45000,20000,60,100,"#FF0000",3,1,"#FFFF00",0.5));
// === 增加画扇形的方法 ===
var point = new GLatLng(42,-80);
//map.addOverlay(GPolyline.Shape(point,30000,30000,-30000,-30000,0,10,"#000000",3,1));
map.addOverlay(GPolyline.Sector(point,30000,0,45,"#000000",3,1,"#00ff00",0.5));
map.addOverlay(GPolygon.Sector(point,30000,90,135,"#000000",3,1,"#00ff00",0.5));
map.addOverlay(GPolyline.Sector(point,30000,180,225,"#000000",3,1,"#00ff00",0.5));
map.addOverlay(GPolygon.Sector(point,30000,270,315,"#000000",3,1,"#00ff00",0.5));
// === Hexagonal grid ===
var point = new GLatLng(42,-78.8);
map.addOverlay(GPolygon.RegularPoly(point,25000,6,90,"#000000",1,1,"#00ff00",0.5));
var d=2*25000*Math.cos(Math.PI/6);
map.addOverlay(GPolygon.RegularPoly(EOffsetBearing(point,d, 30),25000,6,90,"#000000",1,1,"#00ffff",0.5));
map.addOverlay(GPolygon.RegularPoly(EOffsetBearing(point,d, 90),25000,6,90,"#000000",1,1,"#ffff00",0.5));
map.addOverlay(GPolygon.RegularPoly(EOffsetBearing(point,d,150),25000,6,90,"#000000",1,1,"#00ffff",0.5));
map.addOverlay(GPolygon.RegularPoly(EOffsetBearing(point,d,210),25000,6,90,"#000000",1,1,"#ffff00",0.5));
map.addOverlay(GPolygon.RegularPoly(EOffsetBearing(point,d,270),25000,6,90,"#000000",1,1,"#ffff00",0.5));
map.addOverlay(GPolygon.RegularPoly(EOffsetBearing(point,d,330),25000,6,90,"#000000",1,1,"#ffff00",0.5));
map.addOverlay(GPolygon.RegularPoly(EOffsetBearing(EOffsetBearing(point,d,30),d,90),25000,6,90,"#000000",1,1,"#ff0000",0.5));
map.addOverlay(GPolygon.RegularPoly(EOffsetBearing(EOffsetBearing(point,d,150),d,90),25000,6,90,"#000000",1,1,"#0000ff",0.5));
map.addOverlay(GPolygon.RegularPoly(EOffsetBearing(EOffsetBearing(point,d,90),d,90),25000,6,90,"#000000",1,1,"#00ff00",0.5));
}
} </script>
</head>
<body onload="intialize()" onunload="GUnload()">
<div id="map_canvas" style="width: 500px; height: 500px;"></div>
<div id="map" style="width: 500px; height: 500px;"></div>
</body>
</html>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货