从数据库获取地址到谷歌地图
Getting Addresses From a database into a google map
我目前正在开发一个搜索系统,在搜索某个住宅后,它会显示搜索结果,并让搜索结果的地址显示在谷歌地图api中。
我设法通过数组在谷歌地图中显示多个地址,但现在我正在手动输入地址。如何将数据库中的地址放入此数组中。
这是谷歌地图代码注意,var位置是包含地址数组的变量
var locations = ['250 - 13450 102 Avenue Surrey, BC', '8888 University Dr Burnaby, BC', '35-160 Pembina St.New Westminster, BC'];
function geocodeAddress(i) {
geocoder.geocode(
{
'address' : locations[i]
},
function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
createMarker(results[0].geometry.location, i);
} else {
alert('Geocode was not successful for the following reason: '
+ status);
}
});
}
这是php部分
$mysqli = new mysqli("localhost","root","", "");
if ($mysqli->connect_errno) {
echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}
///////////set variables
$sql = $mysqli->query("select * from propertyinfo");
我也在var位置上尝试过这个
var locations = ['<?php
while ($row = $sql->fetch_array(MYSQLI_ASSOC)){
echo ''.$row['StreetAddress'].', '.$row['City'].', BC, ';}
?>'];
我似乎无法理解这一点——不确定我是否应该使用json_encode或其他什么。谢谢你的帮助。
您希望避免像那样将PHP逻辑直接放入输出中。这只是一个混乱的过程,使代码的处理变得更加困难。首先用PHP做逻辑,然后将其放入输出中。
在您的案例中,首先用PHP创建位置数组,然后在需要时将该PHP数组转换为所需的输出格式。
<?php
$locations = array();
while ($row = $sql->fetch_array(MYSQLI_ASSOC)){
$locations[] = $row["StreetAddress"] . ", " . $row["City"] . ", BC";
}
?>
var locations = ['<?php implode("', '", $locations); ?>'];
相关文章:
- 在Delphi TWebBrowser中按地址显示谷歌地图
- 谷歌地图API v3:如何以2个动态地址为中心
- 如何将可拖动的谷歌地图标记的地址传递到输入字段中
- 点击谷歌地图API并获取地址
- 如何在标记谷歌地图中添加地址
- 谷歌地图API格式地址
- 如何使用谷歌地图api加载带有当前地址的地图
- 用城市名称(地址?)设置谷歌地图标记位置
- 如何在谷歌地图上显示我的数据库地址,不带lat和long
- 谷歌地图自动完成删除空格并在地址字符串中插入加号(+)
- 你如何制作一个以具有特定标签的地址为中心的谷歌地图
- 谷歌地图自动完成完整地址
- jQuery 自动完成与谷歌地图地址查找
- 地址到谷歌地图上的数据库
- 谷歌地图 api v3 对多个地址进行地理编码
- 如何在谷歌地图中从纬度和经度获取地址位置
- 谷歌地图地址列表到Javascript
- 谷歌地图地址自动填充错误:无法读取属性'长度'的定义
- 谷歌地图地址表单集成发送白屏
- 如何反向配对谷歌地图地址与lat,long在json格式