2010-08-06 32 views
8

Tôi đang cố hiển thị và xóa đa giác trên Bản đồ Google, sử dụng v3 của API. Trong JavaScript của tôi, tôi đã có một MVCArray của một số Lat-Long tùy chỉnh.Làm cách nào để Thêm và Xoá Đa giác trên Google Maps v3?

Tôi đang cố gắng tìm hiểu cách thêm các đa giác này và sau đó, dựa trên một số sự kiện JavaScript hoặc hành động người dùng khác, chẳng hạn như nhấp vào đa giác (đã được hiển thị), đa giác đó sẽ bị xóa.

Ai đó có thể trợ giúp? Bất kỳ mã hoặc liên kết đến các ví dụ? Tôi đang đấu tranh để tìm một số ví dụ. Hầu hết trong số họ thường đi đến một số mã v2.

Trả lời

18

Trong tài liệu API, có một vài ví dụ đơn giản về adding a polygon to a map. Đây là hàm initialize() từ ví dụ đơn giản Bermuda Triangle với việc bổ sung thêm trình xử lý sự kiện để loại bỏ đa giác khi được nhấp.

function initialize() { 
    var myLatLng = new google.maps.LatLng(24.886436490787712, -70.2685546875); 
    var myOptions = { 
    zoom: 5, 
    center: myLatLng, 
    mapTypeId: google.maps.MapTypeId.TERRAIN 
    }; 

    var bermudaTriangle; 

    var map = new google.maps.Map(document.getElementById("map_canvas"), 
     myOptions); 

    var triangleCoords = [ 
     new google.maps.LatLng(25.774252, -80.190262), 
     new google.maps.LatLng(18.466465, -66.118292), 
     new google.maps.LatLng(32.321384, -64.75737), 
     new google.maps.LatLng(25.774252, -80.190262) 
    ]; 

    // Construct the polygon 
    bermudaTriangle = new google.maps.Polygon({ 
    paths: triangleCoords, 
    strokeColor: "#FF0000", 
    strokeOpacity: 0.8, 
    strokeWeight: 2, 
    fillColor: "#FF0000", 
    fillOpacity: 0.35 
    }); 

    bermudaTriangle.setMap(map); 

    // add an event listener 
    google.maps.event.addListener(bermudaTriangle, 'click', function() { 
     this.setMap(null); 
    }); 

} 
+3

AHH! do đó, mẹo là đảm bảo google.maps.Polygon _instance_ là toàn cục .. vì vậy, u có thể tham chiếu cùng một trường hợp để xóa nó .. thay vì cố gắng tìm cá thể trên bản đồ, v.v. Gotcha :) –

Các vấn đề liên quan