6

Tôi đã thử sử dụng trình quản lý điểm đánh dấu bản đồ google, nhưng dường như tôi đang đánh một bức tường gạch mọi lúc, tôi làm theo hướng dẫn về cách tạo markermanager trên tài liệu google, nhưng có vẻ như không có gì hiệu quả với tôi , đó là một vấn đề trong cách viết mã của tôi? hết ý tưởng ở đây, tại thời điểm này tôi đã đặt MỘT điểm đánh dấu để thả xuống trên bản đồ dựa trên latlng.Google Map Marker Manager V3

ai đó có thể vui lòng thử triển khai mã hướng dẫn và tìm giải pháp làm việc cho tôi không? Nó làm tôi điên lên.

@{ 
    ViewBag.Title = "Index"; 
} 

<h2>Index</h2> 

<div id="map_canvas" style="width:500px; height:500px;"></div> 

    <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script> 

    @*<script src="../../Scripts/markermanager.js" type="text/javascript"></script>*@ 

    <script type="text/javascript"> 

     function initialize() { 
      var latlng = new google.maps.LatLng(-34.397, 150.644); 
      var myOptions = { 
       zoom: 8, 
       center: latlng, 
       mapTypeId: google.maps.MapTypeId.ROADMAP // map view, can be set to satellite, street, roadview, aerialview 
      }; 
      map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 

      var marker = new google.maps.Marker({ 
       position: latlng, 
       map: map, 
       animation: google.maps.Animation.DROP, 
       title: "Uluru (Ayers Rock)" 
      }); 

      marker.setMap(map); 
     } 

     $(document).ready(function() { 
      initialize(); 
     }); 

    </script> 
+1

Bạn đã bao gồm các tập tin mà bạn không sử dụng các lớp quản lý đánh dấu các đoạn mã trên. Tại sao vậy? –

+0

trả về lỗi: GBounds không được xác định [Break On This Error] GBounds.prototype.containsPoint = function (point) {bên trong tệp markermanager.js – MJCoder

+0

Bạn đang sử dụng trình quản lý điểm đánh dấu nào? Bạn có đang sử dụng trình quản lý điểm đánh dấu đã được tạo cho GMAP API v2 với GMAP API v3 không? –

Trả lời

15

Dưới đây là một ví dụ để giúp bạn bắt đầu:

var map; 
 
var mgr; 
 

 
function initialize() { 
 
    var myOptions = { 
 
    zoom: 8, 
 
    center: new google.maps.LatLng(-34.397, 150.644), 
 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
 
    }; 
 
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 
 
    mgr = new MarkerManager(map); 
 
    google.maps.event.addListener(mgr, "loaded", function() { 
 
    for (var i = 0; i < 1000; i++) { 
 
     var marker = new google.maps.Marker({ 
 
     position: new google.maps.LatLng(Math.random() * 180 - 90, Math.random() * 360 - 180), 
 
     title: "Random marker #" + i 
 
     }); 
 
     mgr.addMarker(marker, 0); 
 
    } 
 
    mgr.refresh(); 
 
    }); 
 
} 
 
google.maps.event.addDomListener(window, "load", initialize);
<script src="http://maps.googleapis.com/maps/api/js?sensor=false"></script> 
 
<script src="http://google-maps-utility-library-v3.googlecode.com/svn/trunk/markermanager/src/markermanager.js"></script> 
 

 
<div id="map_canvas" style="height: 400px;"></div> 
 
<p>Pan or zoom out to see markers</p>

Chú ý rằng khi tạo một dấu hiệu, tôi không nói rõ map: map hoặc marker.setMap(map). Thay vào đó, các điểm đánh dấu được thêm vào trình quản lý điểm đánh dấu để thêm chúng vào bản đồ khi bạn gọi markermanager.refresh().

Cũng lưu ý rằng tôi đã thêm tất cả các điểm đánh dấu ở mức thu phóng 0. Lý tưởng nhất là bạn nên tải ít điểm đánh dấu ở các mức thu phóng thấp hơn và nhiều điểm đánh dấu hơn ở các mức thu phóng cao hơn.

+0

ví dụ tuyệt vời .. chỉ cần những gì tôi cần, vì vậy tôi thấy chúng tôi đã sử dụng một vòng lặp cho mà sẽ tạo ra đến 1000 đánh dấu và đặt chúng một cách ngẫu nhiên bằng cách sử dụng math.random(), làm thế nào tôi sẽ nhận được nó như vậy khi bản đồ tải lên tất cả đánh dấu được hiển thị mà không phóng to hoặc thu nhỏ để xem tất cả? sẽ như sau: map.fitBounds (latlngbounds); – MJCoder

+0

cho ví dụ ở trên làm cách nào để tôi phù hợp với tất cả các điểm đánh dấu trên bản đồ mà không cần phóng to/thu nhỏ? map.fitBounds(); là nó như thế? – MJCoder

+0

làm việc cho tôi bây giờ, bây giờ tôi sẽ xem kết quả JSON trong MVC3 :) cảm ơn Salman :) – MJCoder

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