<!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&amp;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&amp;v=2&amp;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>