0
我有一個近似的100個位置,我試圖通過使用地方放置標記工具來繪製谷歌地圖上的所有位置。 但是我想在第一個位置放置不同的顏色標記。如何在第一個位置放置不同的谷歌地圖標記
如何爲我的代碼實現此目的?
我無法想出一種方法將不同標記添加到第一個位置。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>Google Maps Sensor Markers</title>
<script src="http://maps.google.com/maps/api/js?sensor=false" type="text/javascript"></script>
</head>
<body>
<div id="map" style="width: 1000px; height: 700px;"></div>
<script type="text/javascript">
var myVar = <% -JSON.stringify(jsresult) %> ;
var count = <% -rowcount %>
var sensor = [],
time = [];
console.log('Result ' + myVar);
//var markerBounds = new google.maps.LatLngBounds();
var sortResults = function (sensor, time) {
var locations = [
['1', 21.390488, 39.720039, 0],
['2', 21.384861, 39.793586, 1],
['3', 21.360205, 39.768940, 2],
// more here//
['97', 21.338759, 43.965311, 97],
['98', 21.377342, 43.860941, 98],
['99', 21.353349, 43.762236, 99],
['100', 21.309632, 43.994229, 100]
];
var map = new google.maps.Map(document.getElementById('map'), {
//zoom: 10,
center: new google.maps.LatLng(21.414011, 39.895322),
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var infowindow = new google.maps.InfoWindow();
var marker, i;
var path = [];
var latlngbounds = new google.maps.LatLngBounds();
for (i = 0; i < sensor.length; i++) {
var chosenLocation = sensor[i];
var mylatlang = new google.maps.LatLng(locations[chosenLocation][1], locations[chosenLocation][2]);
marker = new google.maps.Marker({
position: mylatlang,
map: map
});
google.maps.event.addListener(marker, 'click', (function (marker, i) {
return function() {
infowindow.setContent(sensor[i][0]);
infowindow.open(map, marker);
}
})(marker, i));
latlngbounds.extend(mylatlang);
path[i] = new google.maps.LatLng(locations[chosenLocation][1], locations[chosenLocation][2]);
//markerBounds.extend(mylatlang);
zoomToMarkers();
}
function zoomToMarkers() {
map.setCenter(latlngbounds.getCenter());
map.fitBounds(latlngbounds);
}
var flightPath = new google.maps.Polyline({
path: path,
geodesic: true,
strokeColor: '#FF0000',
strokeOpacity: 1.0,
strokeWeight: 2
});
flightPath.setMap(map);
}
for (var j = 0; j < count; j++) {
sensor[j] = myVar.rows[j].sensor;
time[j] = myVar.rows[j].time;
}
sortResults(sensor, time);
//map.fitBounds(markerBounds);
</script>
</body>
</html>
你已經有兩個答案,你的問題,請你提供一些建議嗎? – Kutyel 2014-12-04 08:12:19