Tờ rơi / đánh dấu cơ sở / Google Map không hiển thị


8

Mới đối với Tờ rơi, hiện đang cố gắng di chuyển một dự án từ Google Maps bản địa sang Tờ rơi; đã bị thu hút bởi Leaflet bởi quản lý lớp và các tùy chọn sử dụng các bản đồ nền theo kiểu 'lộ trình' tốt hơn.

Đã tải xuống plugin để sử dụng các ô Google Map làm bản đồ cơ sở cho Leaflet và nó hoạt động tuyệt vời như một lớp cơ sở.

Tuy nhiên tôi đã tìm thấy một vấn đề và tôi không đủ kinh nghiệm với Tờ rơi để hiểu lý do tại sao. Tôi có các điểm đánh dấu có thể nhìn thấy với bất kỳ lớp cơ sở nào khác - nhưng không phải với Google. Đã thử buộc Z thứ tự cao (1000, v.v.) nhưng nó không có gì khác biệt. Độ mờ của các điểm đánh dấu là đầy đủ 1.0

Các điểm đánh dấu có thể nhìn thấy trên tất cả các lớp khác (ví dụ OSM), khi tôi chuyển cơ sở sang Google (vệ tinh hoặc bản đồ) chúng sẽ không còn hiển thị nữa, nhưng chuyển trở lại một cơ sở không phải của Google và chúng lại xuất hiện.

Lý do tôi theo đuổi lớp cơ sở của Google là vì Google (theo như tôi biết) là nhà cung cấp duy nhất các bức ảnh chụp trên không phù hợp chi tiết cho khu vực tôi quan tâm. Muốn sử dụng các bản đồ khác nhưng có tùy chọn để chuyển sang chế độ xem 'vệ tinh' của Google thông qua trình quản lý lớp.

Hiện đang sử dụng Leaflet v0.4.5 (nhưng cũng đã thử v0.4), các triệu chứng tương tự xảy ra khi sử dụng các trình duyệt khác nhau (IE, FF, v.v.).

Sẽ biết ơn bất kỳ sự giúp đỡ.

Câu trả lời:


13

Chỉ cần sửa chữa nhanh chóng: bạn đã đi đúng hướng với chỉ số z. Hãy thử thêm tệp này vào tệp css của riêng bạn (có thể phá vỡ những thứ khác! Tôi chỉ cần lấy nó để hiển thị các điểm đánh dấu):

.leaflet-map-pane {
    z-index: 2 !important;
}

.leaflet-google-layer {
    z-index: 1 !important;
}

Andy, Cảm ơn rất nhiều - điều đó đã khắc phục nó một cách hoàn hảo và không có tác dụng phụ nào khác mà tôi có thể thấy (ít nhất là cho đến nay!). Đã xem qua mã plugin Google Maps của tờ rơi và nhận thấy nó sử dụng "insertAtTheBottom" mà tôi hiểu là không dùng nữa. Dave
Dave Martin

0

Đã tải xuống plugin để sử dụng gạch Google Map làm bản đồ cơ sở cho Tờ rơi

Nói rõ hơn, điều này trái với các điều khoản dịch vụ của Google, vì vậy hãy thận trọng.


1
Không phải nếu anh ta đang sử dụng ( psha.org.ru/leaflet/Google.js ) mà tôi cho là anh ta đang sử dụng. Nó được viết thông qua bản đồ api để nó không vi phạm ĐKDV.
AndyL

Tom / Andy, Cảm ơn các ý kiến. Tom - chúng tôi vẫn sử dụng Google Maps "nguyên bản" cho bản đồ tĩnh và nơi tôi cần hiển thị một trang web hoặc một loại trang web duy nhất. Tuy nhiên, tôi đang cố gắng di chuyển phần hiển thị nhiều điểm đánh dấu các loại khác nhau để chúng tôi có thể sử dụng chuyển đổi lớp của Leaflet (và cũng chuyển sang các nhà cung cấp bản đồ cơ sở thay thế). Tôi xin lỗi nếu tin nhắn ban đầu của tôi không làm rõ điều này, nhưng chúng tôi đang làm điều này, như Andy đã đề cập, bằng cách sử dụng plugin Googlelet Leaflet, lần lượt sử dụng API Google Maps v3 - chúng tôi không cố gắng gọi gạch trực tiếp. Dave
Dave Martin

0

Một số số khác trên các chỉ số z, được hiển thị ở nơi khác, hoạt động theo kết thúc của tôi. Đăng chéo từ đây: https://gist.github.com/crofty/2197042#comment-1234339

.leaflet-google-layer{
    z-index: 0 !important;
}
.leaflet-map-pane{
    z-index: 100;
}

(đặt phần này trong CSS hoặc <style>phần trang web của bạn )


0

Hãy thử đặt cái này vào css của bạn:

.leaflet-google-layer {
    z-index: inherit;
}

Điều này đã giúp tôi trong tình huống tương tự

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.