0
私のデータベースには緯度と経度がありますが、私はGoogleマップv3に複数のマーカーを表示したいのですが、問題は私の値(緯度、経度)を取得しているときです地図上 Googleマップv3でlong longを表示するApi
...ループやその他の値の取得その最後の値が上書きされるので、私のコードは、この..です<?php foreach($this->searchResult as $result): ?>
<ul>
<li><?php echo $result['user_id']; ?>
<li><?php echo $result['name']; ?></li>
<li><?php echo $result['Latitude']; ?></li>
<li><?php echo $result['Longitude']; ?></li>
<li><?php if($result['country'] == '1'){echo "America"; }else{ echo "";} ?></li>
<a href="<?php echo
$this->url(array('controller'=>'search', 'action'=>'get-Details', 'id'=>$result['id']))?>">Details</a>
</ul>
<script type="text/javascript">
var berlin = new google.maps.LatLng(40.7144, -74.0061);
var lat = new Array();
var lon = new Array();
var lat = <?php echo $result['Latitude']; ?>;
var lon = <?php echo $result['Longitude']; ?>;
var neighborhoods = [
new google.maps.LatLng(lat,lon)
];
var markers = [];
var iterator = 0;
var map;
function initialize() {
var mapOptions = {
zoom: 4,
mapTypeId: google.maps.MapTypeId.ROADMAP,
center: berlin
};
map = new google.maps.Map(document.getElementById("map_canvass"),
mapOptions);
}
function drop() {
for (var i = 0; i < neighborhoods.length; i++) {
setTimeout(function() {
addMarker();
}, i * 200);
}
}
function addMarker() {
markers.push(new google.maps.Marker({
position: neighborhoods[iterator],
map: map,
draggable: false,
animation: google.maps.Animation.DROP
}));
iterator++;
}
</script>
<?php endforeach;?>
<?php echo $this->paginationControl($this->searchResult, 'Sliding', 'pagination.phtml'); ?>
<div id="map_canvass" style="width:800px; height:300px"></div>
<button id="drop" onclick="drop()">Drop Markers</button>
実際に私はここにすべての緯度、経度の値を格納したい...と、それをフェッチ... が、そのだけ最後の値を保持.. するvar地域= [ new google.maps.LatLng(lat、lon) ]; –
equals演算子は、代入を行い、以前の代入を上書きします。 javascipt配列を拡張するには、push()関数を使用します。 'var neighborhoods = []; neighborhoods.push(firstCoordinate); neighborhoods.push(secondCoordinate); ' –
または、すべての要素を同時に割り当てます。 'var neighborhoods = [firstCoordinate、secondCoordinate];' –