2011-11-25 65 views

Trả lời

8

Bạn lặp qua mảng của mình và tạo một phiên bản Marker mới cho mỗi cặp. Thật đơn giản:

<script> 
    var map = new google.maps.Map(document.getElementById('map'), { 
     center: new google.maps.LatLng(55.378051, -3.435973), 
     mapTypeId: google.maps.MapTypeId.ROADMAP, 
     zoom: 8 
    }); 

    var locations = [ 
     new google.maps.LatLng(54.97784, -1.612916), 
     new google.maps.LatLng(55.378051, -3.435973]) 
     // and additional coordinates, just add a new item 
    ]; 

    locations.forEach(function (location) { 
     var marker = new google.maps.Marker({ 
      position: location, 
      map: map 
     }); 
    }); 
</script> 

Điều này phù hợp với bất kỳ số cặp vĩ độ/kinh độ nào; chỉ cần thêm một mục mới vào mảng locations.

+0

Ý tưởng hay! Trường hợp của tôi là tôi có nhiều tên vị trí cần dịch sang tọa độ. Các tên vị trí đó được trích xuất từ ​​các tài liệu mà là các kết quả tìm kiếm của các công cụ tìm kiếm. Dữ liệu đầu vào là văn bản miễn phí của tài liệu và đầu ra là bản đồ có các ghim hiển thị tên vị trí đó. Javascript này chỉ mất mảng (cố định cơ sở dữ liệu) như đầu vào, nó có thể được thực hiện trong tình hình trên? Cảm ơn rất nhiều. – Jun

+0

Tên vị trí của bạn có bất kỳ định dạng cụ thể nào không, hoặc chúng có được tải lên dưới dạng văn bản từ kết quả của công cụ tìm kiếm theo bất kỳ định dạng nào được ghi trong tài liệu gốc không? –

+0

Ví dụ: trong kết quả tìm kiếm của google, có các tài liệu văn bản có thể chứa vị trí địa lý. Trước tiên, tôi muốn tìm những địa điểm đó và sau đó có thể gọi dịch vụ web để dịch tên để cordinates được lưu trữ ở đâu đó nếu có thể. Sau đó, gọi API bản đồ của Google để hiển thị các tên đó dưới dạng ghim trên bản đồ. – Jun

0

bạn có thể làm một cái gì đó giống như

var map = new GMap2(document.getElementById("map_canvas")); 
    map.addControl(new GSmallMapControl()); 
    map.setCenter(new GLatLng(37.4419, -122.1419), 13); 

    // Create our "tiny" marker icon 
    var blueIcon = new GIcon(G_DEFAULT_ICON); 
    blueIcon.image = "http://www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png"; 

    // Set up our GMarkerOptions object 
    markerOptions = { icon:blueIcon }; 

    // Add 10 markers to the map at random locations 
    var bounds = map.getBounds(); 
    var southWest = bounds.getSouthWest(); 
    var northEast = bounds.getNorthEast(); 
    var lngSpan = northEast.lng() - southWest.lng(); 
    var latSpan = northEast.lat() - southWest.lat(); 
    for (var i = 0; i < 10; i++) { 
     var point = new GLatLng(southWest.lat() + latSpan * Math.random(), 
     southWest.lng() + lngSpan * Math.random()); 
     map.addOverlay(new GMarker(point, markerOptions)); 
    } 

tôi đã lấy ví dụ này từ tài liệu google API nơi họ đã cho thấy làm thế nào bạn có thể sử dụng lat ong để hiển thị điều

Tham khảo này để biết chi tiết

Showing markers using Google API

Mặc dù tôi đã sử dụng phiên bản v2 đã không còn được sử dụng nhưng khái niệm sử dụng sẽ nhiều hơn hoặc ít hơn giống nhau

+0

đây là javascript. – Jun

+0

Tôi hiện đang cố gắng trích xuất tên vị trí địa lý trong tài liệu kết quả được công cụ tìm kiếm trả về và hiển thị chúng như các ghim trên bản đồ. Vì vậy, có những tên địa điểm tôi cần được dịch sang tọa độ và sau đó gọi bản đồ google để hiển thị hình ảnh. Bất kỳ ý tưởng? – Jun

+0

bạn có thể xây dựng yêu cầu của mình vì trong câu hỏi của bạn, bạn nói rằng bạn có vĩ độ kinh độ nên không thực sự khó gọi dịch vụ bản đồ của Google và đi qua một điểm đến nó, điểm là gì, nhưng được tính toán dựa trên vĩ độ và kinh độ. –

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