【发布时间】:2015-09-23 21:55:09
【问题描述】:
基本上我需要为表中的每个值运行一个函数。也许一些循环或什么?我是 jQuery 和 javascript 的新手。我想在地图画布上为我存储在表格中的每个 latlng 显示一个标记。我该怎么做?
谢谢
【问题讨论】:
标签: javascript jquery google-maps-api-3 google-maps-markers
基本上我需要为表中的每个值运行一个函数。也许一些循环或什么?我是 jQuery 和 javascript 的新手。我想在地图画布上为我存储在表格中的每个 latlng 显示一个标记。我该怎么做?
谢谢
【问题讨论】:
标签: javascript jquery google-maps-api-3 google-maps-markers
您想要得到的是一个包含标记的纬度和经度的对象数组,然后您可以遍历对象数组并将标记添加到地图中。您可能还希望地图缩放以适合标记。这在Google Maps documentation 中称为“边界”。 JSFiddle Example
var map;
var mapOptions = {
center: {lat: 51.5048835, lng: 0.1101221},
zoom: 12
};
var markers = [
{lat: 51.5048835, lng: -0.1101221},
{lat: 51.5053532, lng: -0.1085023,},
{lat: 51.5072948, lng: -0.103489}
];
function initialize() {
map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
addMarkers();
}
google.maps.event.addDomListener(window, 'load', initialize);
function addMarkers() {
var bounds = new google.maps.LatLngBounds();
for (var i = 0; i < markers.length; i++) {
var latLng = new google.maps.LatLng(markers[i].lat, markers[i].lng);
markers[i] = new google.maps.Marker({
position: latLng,
map: map,
title: 'Hello World!'
});
bounds.extend(markers[i].getPosition());
map.fitBounds(bounds);
}
}
【讨论】: