2010-02-01 40 views
8

Tôi đã tạo một ứng dụng dựa trên API Google Maps. Vấn đề là ứng dụng của tôi được tạo ra để được sử dụng trong tự nhiên, ở những nơi không có mạng. Vì vậy, tôi muốn quản lý bộ nhớ cache để đảm bảo rằng các lát cụ thể được lưu và có sẵn trong chuyến đi (tôi muốn chuyển hướng chúng trong cơ sở dữ liệu nhưng bất kỳ phương pháp nào có thể làm).Quản lý bộ nhớ cache của MapView

Hiện tại, tôi không tìm thấy bất kỳ phương pháp nào khác (không được kiểm tra) hơn là cố gắng mã hóa lại lớp MapView. Tôi đang tập trung vào API Google để có ảnh vệ tinh (đối với những nơi không có đường). Tôi có thể làm gì ?

Trả lời

8

Điều bạn muốn là vi phạm Android Maps APIs Terms of Service (xem phần 8.2). Bạn sẽ cần phải tìm một công cụ lập bản đồ thay thế để sử dụng, có lẽ dựa trên OpenStreetMap.

+0

động cơ Các bản đồ không phải là vấn đề, vấn đề thực sự là để truy cập dữ liệu vệ tinh ... Nhưng tôi không xem phần 8.2 này trước đây. Vì vậy, tôi sẽ phải tìm một nhà cung cấp bản đồ khác với google: ( Tôi vẫn không biết tại sao họ không cung cấp cơ sở quản lý bộ nhớ cache ... –

3

osmdroid hiện cung cấp thư viện có thể được sử dụng gần như thay thế Google Maps. Nó có thể hỗ trợ các bản đồ ngoại tuyến bằng cách tải xuống và giải nén các lát bản đồ của AndNav.

http://code.google.com/p/osmdroid/

+0

Có cách nào sử dụng thư viện này để truy cập chế độ xem vệ tinh không? Phần mềm của tôi là dành riêng cho đi bộ đường dài núi, nơi không có đường giao thông, vì vậy chế độ xem vệ tinh chính xác là yêu cầu lớn nhất ... –

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