确定。
基本上我使用Google Maps API - 它是Javascript。
我的网站大部分都是在PHP上运行。
我的目的是调用Google Maps API来获取各种已经经过地理编码的经度和纬度点之间的距离。然后我想将它们显示给我的用户。
一个例子。
我(在php中):
$home=array(latitude,longitude);
我的位置数据库也有一个mysql_query结果。
我这样做
while($result=mysql_fetch_array($results)){
//OUTPUT THE GOOGLE MAPS JAVASCRIPT JARGON WHICH WILL FIND THE DISTANCE
//BETWEEN MY HOME AND THE DB LOCATIONS
}
在示例代码中,通过将指定div的内部html设置为某个查询的响应值(这是我的JS知识变得模糊的地方),将值简单地输出到div。
理想情况下,我希望将此值转换为php var。
无论如何都在做:
$var=response from js thing;
我目前所做的基本上是使用php我已经生成了正确数量的div,其名称为'response1','response2'等JS填充...但这似乎不是最合乎逻辑的做法的东西。
希望这是有道理的。 感谢
答案 0 :(得分:1)
要从JavaScript向PHP发送答案需要AJAX:
如果你可以使用JQuery,这几乎是一个标准,它真的很容易。这是我为PHPPro课程编写的课程之一:
receiveNumbers.php
<?php
if (isset($_GET['sentNums']))
{
$sentNumbers = filter_input(INPUT_GET, 'sentNums', FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_HIGH);
// Convert to array.
$numbers = split(', ', $sentNumbers);
// Echo out.
echo json_encode($numbers).
}
的index.php
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Graph Sort | PHPExperts.pro</title>
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="js/jquery.json-2.2.min.js"></script>
<script type="text/javascript">
var myNumbers = '5, 10, 22, 11';
var receivedNumbers;
<?php
// Send data from JavaScript -> PHP.
if (!isset($_GET['myData']))
{
?>
jQuery.getJSON('receiveNumbers.php?sentNums=' + myNumbers, function(jsonReceived)
{
receivedNumbers = jQuery.parseJSON(jsonReceived);
alert(receivedNumbers); // Expected [5,10,22,11]
});
<?php
}
?>
</script>
</head>
</html>
答案 1 :(得分:0)
我建议您查看Google Maps API的this part。
答案 2 :(得分:0)
是的!我前几天就这样做了:
PHP文件中的执行此操作(直接从我的代码中获取):
<?php
$numbers = array(5, 2, 10, 15);
/* Model and stuff here */
?>
<html>
<head>
<script type="text/javascript">
// We're going to put all the info we need here, as a JS global variable.
// If you need even more control, simply fetch it via JQuery from a PHP script that does the following.
var numbers = <?php echo json_encode($numbers); ?>
alert(numbers);
// Expected output: [5,2,10,15]
alert(numbers[2]);
// Expected output: 10
</script>
</head>
</html>
干杯!