2012-12-26 32 views
9

Tôi đã xem xét nhiều ví dụ, sự cố và những thứ khác liên quan đến vấn đề này và dường như tôi không thể tìm thấy bất kỳ điều gì, vì vậy cuối cùng tôi sẽ đặt câu hỏi.Trung tâm bản đồ của Google ở ​​góc trên cùng bên trái

Bản đồ tôi có không làm trung tâm điểm đánh dấu và thậm chí không hiển thị nó. Điểm nó ở góc trên cùng bên trái. Xem tại đây: http://i.imgur.com/Cc1ZK.png

Tôi có hệ thống tab để biết thông tin liên hệ. Khi ai đó nhấp vào một tab, bản đồ và thông tin sẽ trượt xuống và hiển thị điểm đánh dấu thích hợp (4 bản đồ riêng biệt), tuy nhiên tôi không thể tải bản sao đầu tiên để tôi không thể sao chép/dán nó.

Đây là mã của tôi:

Script:

var latlng = new google.maps.LatLng(42.3535727, -83.0591444); 
var options = { 
     zoom: 14, 
     center: latlng, 
     mapTypeId: google.maps.MapTypeId.ROADMAP, 
    }; 
var map = new google.maps.Map(document.getElementById('detroit_map'), options); 
marker1 = new google.maps.Marker({ 
      position: new google.maps.LatLng(42.3535727, -83.0591444), 
      map: map 
      }); 
map.setCenter(latlng); 

Html:

<div id="detroit_map" style="width:270px;height:170px;"></div> 

Tái bút, tôi nhận được không có lỗi trong các công cụ phát triển chrome.

Hy vọng điều gì đó thực sự đơn giản mà tôi đã bỏ qua.

Cảm ơn

Tìm thấy câu trả lời cho khán giả trong tương lai:

Hóa ra, các tab của tôi gây ra hiển thị giữa khối, và không ai được làm cho tải bản đồ của tôi lạ. Tôi đã thực hiện một hàm khởi tạo cho mỗi hàm, và được gọi là setTimout ('functionName', 1000); để gọi các bản đồ để tải.

Tôi đã thay đổi mã bản đồ của mình một chút, nhưng mọi thứ chúng tôi có thể tìm thấy trên w3schools theo hướng dẫn của họ.

+1

Tập lệnh của bạn ở trên có lỗi; xóa dấu phẩy sau khi ROADMAP sửa lỗi – Mark

+0

Cảm ơn bạn đã thêm câu trả lời của riêng mình, nó đã giúp tôi giải quyết một vấn đề tương tự. Gọi hàm init bản đồ, sau khi thay đổi display thành "block", là giải pháp cho tôi. –

Trả lời

2

Nói với bản đồ của bạn để thay đổi kích thước ..

google.maps.event.trigger(map, 'resize'); 

bản đồ là trường hợp bản đồ được trả về bởi

map = new google.maps.Map(document.getElementById("map_canvas"), { 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
}); 
+0

Tôi đã thêm rằng, vẫn không có gì thay đổi .. – Devyn

+1

một bạn cung cấp một liên kết hoặc một jsfiddle thể hiện vấn đề? – geocodezip

+0

Tôi đã tìm ra và thêm câu trả lời cho câu hỏi của tôi, cảm ơn. – Devyn

3

Khởi tạo bản đồ sau khi tab được nhấp. Điều này cũng làm việc cho bản đồ iframe google, khi được sử dụng bên trong một tab.

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