如何在标记放置到多边形点时获取多边形点

时间:2014-11-03 07:54:49

标签: javascript google-maps google-maps-api-3

我希望在Google地图中放置标记时获取多边形点。我的javascript代码看起来像这样

function draw_map_initialize() {
 var mapHeight = '400px';
// Set default height to  Maps Containers
$('#map-canvas').css('height', mapHeight);

// Initialize map with markers(47.53187912201915, 7.705222390807307)
mymap = new GMaps({
    div: '#map-canvas',
    lat: 47.53187912201915,
    lng: 7.705222390807307,
    zoom: 20,
    zoomControl: true,
    mapTypeId: 'satellite'

});
map = mymap
drawingManager = new google.maps.drawing.DrawingManager({
        drawingControlOptions: {

        position: google.maps.ControlPosition.TOP_LEFT,
        drawingModes: [
            google.maps.drawing.OverlayType.MARKER,
            google.maps.drawing.OverlayType.POLYGON
        ]
    },
    //drawingMode: google.maps.drawing.OverlayType.POLYGON,
    markerOptions: {
        draggable: true                   
    },

    polylineOptions: {
        editable: true
    },
    map: map
});
}

我有另一种方法在加载地图时绘制多边形它看起来像这样

function getAreasForCompany(idcompany) {
var area_values;
$.ajax({
    url: url_prefix + "getAreasForCompany",
    data: ({
        'idcompany': idcompany,
        'as_json': 1
    }),
    async: false,
    dataType: "json",
    success: function(data) {
        var result = {};
        var count = 1;
        var path = [];
        /* The for loop is to change the JSON data structure. New JSON structure to loop through the DB values to iterate the polygon. 
           The New JSON structure is to avoid naming restrictions of a polygon while storing  */
        for (var key in data) {
            obj = {
                'name': key,
                'coords': data[key]
            };
            result['area' + count++] = obj;
        }

        var company_area;
        map = mymap;
        /* Here we iterate the stored area points with the dynamically created result['area'+count++] */
        for (key in result) {
            company_area = map.drawPolygon({
                paths: result[key].coords,
                title: result[key].name,
                draggable: true,
                editable: true,
                strokeColor: 'black',
                strokeOpacity: 0.8,
                strokeWeight: 2,
                fillColor: '#FF0000',
                fillOpacity: 0.35,
                click: clickFun(this)
            });

       }
    },
    error: function(data, status, e) {
            alert(e);
        } // $("#zones").html(dataJson[i].coords);

});
}

现在我想知道如何在标记放置时立即获取多边形点,或者单击标记时是否可以获取多边形点?

由于

0 个答案:

没有答案
相关问题