私はすでに2つのマーカー、マーカー1からの経路の方向を示しています。& lng、マーカー2はlat2 & lng2を含んでいます。そのマーカーから、地図はマーカー1とマーカー2からのルートの方向を示します。私の問題は複数のマーカーがあり、マーカーの各カップルからのすべてのルート方向を表示したいので結果が地図上に表示されます。は、それぞれ2つのマーカーからより多くの方向を示しています
以下の私のコードをチェックし、この
で私を助けて(私は最初からこのプロジェクトの完全なコードを追加しました)
// DIRECTION
function initMap() {
var ren, ser;
var marker, marker2;
var i, j;
var infowindow;
var directionsDisplay;
var pointA, pointB;
var locations = [
<?php
include('inc/config.php');
$sql_lokasi="select * from lokasi";
$result=mysql_query($sql_lokasi) or die(mysql_error());
while($data=mysql_fetch_object($result)){
?>
['<?=$data->nama;?>', <?=$data->lat;?>, <?=$data->lng;?>],
<?
}
?>
];
var locations2 = [
<?php
include('inc/config.php');
$sql_lokasi="select idlokasi,nama,lat,lng,lat2,lng2 from lokasi";
$result=mysql_query($sql_lokasi) or die(mysql_error());
while($data=mysql_fetch_object($result)){
?>
['<?=$data->nama;?>', <?=$data->lat2;?>, <?=$data->lng2;?>],
<?
}
?>
];
myOptions = {
zoom: 12,
center: pointA,
mapTypeId: google.maps.MapTypeId.ROADMAP
},
map = new google.maps.Map(document.getElementById('map'), myOptions),
ser = new google.maps.DirectionsService,
ren = new google.maps.DirectionsRenderer({
map: map
});
<?php
$result = mysql_query("SELECT * FROM lokasi");
while ($row = mysql_fetch_array($result))
// foreach($result as $row) // <- remove this line
echo "addMarker(new google.maps.LatLng(".$row['lat'].", ".$row['lng']."), map),
addMarker2(new google.maps.LatLng(".$row['lat2'].", ".$row['lng2']."), map);";
?>
for (i = 0; i < locations.length; i++) {
pointA = new google.maps.LatLng(locations[i][1], locations[i][2])
};
for (j = 0; j < locations2.length; j++) {
pointB = new google.maps.LatLng(locations2[j][1], locations2[j][2])
};
// get route from A to B
calculateAndDisplayRoute(ser, ren, pointA, pointB);
}
function calculateAndDisplayRoute(ser, ren, pointA, pointB) {
ser.route({
origin: pointA,
destination: pointB,
travelMode: google.maps.TravelMode.DRIVING
}, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
ren.setDirections(response);
} else {
window.alert('Directions request failed due to ' + status);
}
});
}
function addMarker(pointA, map) {
var marker = new google.maps.Marker({
position: pointA,
map: map,
icon: 'seru.png',
animation: google.maps.Animation.BOUNCE
});
//show INFOWINDOW
var contentString =
'<div id="content">'+
'<div id="siteNotice">'+
'</div>'+
'<h3 id="firstHeading" class="firstHeading">START POINT</h3>'+
'<div id="bodyContent">'+
'<p>I want to show this with locations[i].lat and locations[1].lng</p>'+
'<p>Web <a href="Facebook">'+
'www.facebook.com</a> .</p>'+
'</div>'+
'</div>';
var infowindow = new google.maps.InfoWindow({
content: contentString
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.open(map,marker);
});
function addMarker2(pointB, map, j) {
var marker2 = new google.maps.Marker({
position: pointB,
map: map,
icon: 'seru 2.png',
animation: google.maps.Animation.DROP
});
//show INFOWINDOW
var contentString =
'<div id="content">'+
'<div id="siteNotice">'+
'</div>'+
'<h3 id="firstHeading" class="firstHeading">END POINT</h3>'+
'<div id="bodyContent">'+
'<p>I want to show this with locations[j].lat2 and locations[j].lng2</p>'+
'<p>Web <a href="Facebook">'+
'www.facebook.com</a> .</p>'+
'</div>'+
'</div>';
var infowindow = new google.maps.InfoWindow({
content: contentString
});
google.maps.event.addListener(marker2, 'click', function() {
infowindow.open(map,marker2);
});
これは、データベースからのショーのマーカーの両方のコードです:
<?php
$result = mysql_query("SELECT * FROM lokasi (idlokasi,nama,lat,lng,lat2,lng2");
while ($row = mysql_fetch_array($result))
// foreach($result as $row) // <- remove this line
echo "addMarker(new google.maps.LatLng(".$row['lat'].", ".$row['lng']."), map),
addMarker2(new google.maps.LatLng(".$row['lat2'].", ".$row['lng2']."), map);";
var pointA = new google.maps.LatLng(".$row['lat'].", ".$row['lng'].")
var pointB = new google.maps.LatLng(".$row['lat2'].", ".$row['lng2'].")
?>
This is my database has contain id, name, and each lat lng
何の問題あなたは追加のルートを追加しあっていますか?あなたの問題を示す[最小、完全、テスト済みおよび読みやすい例](http://stackoverflow.com/help/mcve)を提供してください。 – geocodezip
google.maps.LatLngオブジェクトには「クリック」イベントがありません。 – geocodezip
私はコードを追加しました。私の問題は、すべてのマーカーから経路の方向を示す方法です。私は1つのデータマーカーから1つのルート方向しか示していないからです。 –