【发布时间】:2014-04-16 13:59:07
【问题描述】:
我有一个 javascript 函数,可以计算“我的位置”与从数据库获取坐标的另一个位置之间的距离。现在,我使用 php 从数据库中提取数据并在 HTML 表中显示数据。我还使用 php 调用 javascript。该函数执行得很好,我得到了想要的结果。但是,我现在想将此函数的输出重定向到 HTML 表中。
这是我的代码:
<script>
var latLngA;
function getLocation(coordinates,call_number) {
//alert("Entering with coordinates " + coordinates + " and call number " + call_number);
navigator.geolocation.getCurrentPosition(
function(position) {
if(call_number == 0){
latLngA = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
}
var latlong = coordinates.split(",");
var latLngB = new google.maps.LatLng(parseFloat(latlong[0]), parseFloat(latlong[1]));
var distance = google.maps.geometry.spherical.computeDistanceBetween(latLngA, latLngB);
var table = document.getElementById('venue_list');
var tbody = table.getElementsByTagName('tbody')[0];
var rows = tbody.getElementsByTagName('tr');
rows[i].getElementsByTagName('td')[2].innerHTML = distance/1000;
},
function() {
alert("Geo-location not supported!");
}
);
}
</script>
<?php
$i = 0;
$result = mysqli_query($con,$query);
while($row = mysqli_fetch_array($result))
{
$name = $row['NAME'];
$img = $row['IMAGE_SRC'];
$addr = $row['ADDRESS'];
$location = $row['LOCATION'];
$coordinates = $row['COORDINATES'];
echo "<script type='text/javascript'>map_function('{$addr}','{$name}','{$img}','{$i}');</script>";
?>
<tr>
<td>
<img src="<?php echo $img.".jpg"?>" height="100" width="100">
</td>
<td>
<?php echo $name?>
</td>
<td>
<?php echo "<script type='text/javascript'>getLocation('{$coordinates}','{$i}');</script>";?>
</td>
<td style="display:none;">
<?php echo $location?>
</td>
</tr>
<?php
$i=$i+1;
}
?>
venue_list 是显示数据的表的id。虽然函数执行得很好,但我无法获得相应表格行中的输出。等待解决方案。谢谢。
【问题讨论】:
标签: javascript php html google-maps google-maps-api-3