Tôi đang sử dụng GeoJSON làm nguồn dữ liệu cho Google Maps. Tôi đang sử dụng v3 của API để tạo ra một lớp dữ liệu như sau:Điểm đánh dấu tùy chỉnh cho các điểm từ tệp geoJson với Google Maps
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp"></script>
<script>
var map;
function initialize() {
//Initialise the map
var myLatLng = new google.maps.LatLng(53.231472,-0.539783);
map = new google.maps.Map(document.getElementById('map-canvas'), {
zoom: 17,
center: myLatLng,
scrollwheel: false,
panControl: false,
zoomControl: false,
scaleControl: true,
disableDefaultUI: true
});
//Initialise base folder for icons
var iconBase = '/static/images/icons/';
//Load the JSON to show places
map.data.loadGeoJson('/api/geo');
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
<div id="map-canvas"></div>
Nguồn dữ liệu GeoJSON của tôi là như sau:
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"icon": "/static/images/icons/map-marker-do.png",
"coordinates": [
-0.53743,
53.23437
]
},
"properties": {
"name": "Cathedral",
"description": "One of Europe’s finest Gothic buildings, once the tallest building in the world that dominates Lincoln's skyline.",
"icon": "/static/images/icons/map-marker-do.png"
}
}
]
}
Những gì tôi đang cố gắng làm là làm cho biểu tượng điểm đánh dấu trên bản đồ đến từ thuộc tính "biểu tượng" trong JSON, nhưng không thể tìm ra cách lấy dữ liệu để thay đổi điểm đánh dấu mặc định. Bất cứ ai có thể đưa ra lời khuyên nào? Cảm ơn.
Nơi nào bạn thêm điểm đánh dấu? Bạn làm gì với 'iconBase'? – MrUpsidown
@MrUpsidown: anh ấy sử dụng [** lớp dữ liệu **] (https://developers.google.com/maps/documentation/javascript/datalayer), các tính năng (ví dụ: điểm đánh dấu/Điểm) được tải qua loadGeoJson sẽ được thêm vào tự động theo API –
Tệ của tôi. Tôi thấy biểu tượng đó với một phần của URL trong JSON và không nghĩ xa hơn :-) – MrUpsidown