这是我的问题。我有很多商家,我想为每个商家展示谷歌地图(所有这些都在一个HTML页面中)。
对于我所拥有的每项业务:
问题。
如何使用谷歌地图API使用纬度/经度或业务为每个商家插入谷歌地图?
难点
- 使用每个企业的ID并不理想。
- 如何将纬度/经度传递给javascript函数以插入地图?
以下是我想要做的一般概念。
假设我有一系列业务,其中包含有关每项业务的信息。
foreach($businessesList as $businessName =>bInfo)
{
list($about, addressText, $lat, $long) = $bInfo
<div> $businessName</div>
<div> $about</div>
<div class='map'>
//使用$ lat,$ long和Google Maps API为每个商家在此div中插入谷歌地图。
</div>
}
我对javascript和jquery的体验很少,因为大部分都是使用PHP
我可以设置一个数组来包含Google Maps嵌入代码,并且基本上会查找每个商家的嵌入代码,但我不喜欢这样。
例如addressArray = [&#39; business1&#39; =&gt;&#39;嵌入从谷歌地图复制的代码。&#39;,.....]
PS随时可以要求澄清。
提前致谢。
答案 0 :(得分:0)
所以你有php数组包含所有需要的数据,如latlng
然后你可以在php上迭代它并为每个项目渲染html
每个商家地图都有html ID 可以
一些元代码:
<?php
$myplaces = [
[
'address'=>'Example 1, NY',
'lat'=>30.123456,
'lng'=>50.123456
],
[
'address'=>'Example 2, LA',
'lat'=>40.123456,
'lng'=>50.123456
],
//as many you like
];
$unique_id = 0;
foreach($myplaces as $place){
?>
<h1><?php echo $place['address']; ?></h1>
<div id="map_<?php echo $unique_id; ?>"></div>
<script>
var pos = {lat: <?php echo $place['lat']; ?>, lng: <?php echo $place['lng']; ?>};
var map = new google.maps.Map(document.getElementById('map_<?php echo $unique_id; ?>'), {
zoom: 4,
center: pos
});
var marker = new google.maps.Marker({
position: pos,
map: map
});
</script>
<?php
$unique_id++;
}
?>
docs:https://developers.google.com/maps/documentation/javascript/adding-a-google-map
不要忘记将谷歌地图脚本本身包含在适当的api密钥中