【发布时间】:2018-01-03 12:22:13
【问题描述】:
我有 google map Api,我想使用它并在一个页面上显示多个地图,每个地图都有自己的 coordinate and marker,坐标来自使用 PHP 的数据库,但在我的页面上我只得到一张地图一个制造商,我需要与我获取的 坐标(纬度和经度) 数量相等的地图。
如果可能,请帮助我。
PHP HTML 代码:
<?php while($lakeRow=mysql_fetch_array($res)) { ?>
<div class="Coordinates">
<input type="hidden" class="a" id="latitude" value="<?php echo $lakeRow['latitude'];?>">
<input type="hidden" class="b" id="longitude" value="<?php echo $lakeRow['longitude'];?>">
</div>
<div class="col-md-4">
<div class="thumbnail">
<div class="more">
<h4><?php echo $lakeRow['photo_caption_one'];?></h4>
</div>
<a href="" target="_blank">
<?php echo '<img src="data:photo/jpeg;base64,'.base64_encode($lakeRow['photo'] ).'" height="300"/><br/>' ; ?>
<div class="caption">
<p><?php echo $lakeRow['photo_caption_one'] ; ?> .</p>
</div>
<div class="more">
<div id ="map" style="height: 253px" >
</div>
</div>
</a>
</div>
</div>
<?php }?>
Javascript 代码:
<script type="text/javascript">
function initMap() {
var Latitude = parseFloat(document.getElementById('latitude').value);
var Longitude = parseFloat(document.getElementById('longitude').value);
var latLng = {
lat: Latitude,
lng: Longitude
};
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 10,
center: latLng
});
var marker = new google.maps.Marker({
position: latLng,
map: map
});
}
</script>
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAGMLRwrop1EGkgdzQ9a7zzREq4uw8l63k&callback=initMap">
</script>
【问题讨论】:
-
你不能重复使用
id='map'~它应该有一个唯一的ID -
其他 ID 也是如此
-
@RamRaider,是的,如果坐标不止一个,我需要地图自我复制,使用相同的 id。因为我可以在 texfield 上填充值,当值是不止一个
标签: javascript php google-maps google-maps-api-3