0

我在db中有一个特定用户的纬度和经度..我正在使用jquery获取值..这就是我正在做的

var auto_refresh = setInterval(
        function ()
        {
            $.get('http://localhost/Location/locate', function(data){

             $('.latitude').html(data.lat);
             $('.longitude').html(data.long);


             }, 'json');



        }, 1000);

当我从 php 获取位置时,我正在这样做

    'localize' => false,
    'latitude' => $latitude,
    'longitude' =>  $longitude,
    'address' => $address,
    'marker' => true,

现在我正在这样做,但给了我语法错误

      'latitude' => ?><div class = 'latitude'></div><?php ,
    'longitude' => ?><div class = 'longitude'></div><?php ,

我想问的另一件事是,这是在不刷新页面的情况下获取位置的最佳方法.. 或者还有其他东西。

4

2 回答 2

0

您的代码中关于 PHP 和使用https://github.com/marcferna/CakePHP-GoogleMapHelper的几个问题:

  1. 当它只需要一个数字时,您正在分配纬度<div class = 'latitude'></div>和经度,因此这永远不会起作用。<div class = 'longitude'></div>

  2. PHP 是服务器端,Javascript 在客户端执行,因此分配永远不会起作用,因为 PHP 已经执行。查看有关此的更多问题:如何将 javascript 变量值分配给 php 变量

解决方案

使用您提供的代码...解决方案可能是直接使用 Google Maps javascript API 使用来自服务器的位置更新地图: setCenter(latlng:LatLng)

var auto_refresh = setInterval(function() {
  $.get('http://localhost/Location/locate', function(data){
    # Get the map instance and modify the center
    # map_canvas is the default variable name that contains the Google Map
    map_canvas.setCenter(new google.maps.LatLng(data.lat, data.long));
  }, 'json');
}, 1000);
于 2013-09-23T00:51:37.750 回答
0

我认为 PHP 中不允许这样做,在数组赋值中关闭和打开 PHP 内联。试试这个:

'latitude' => '<div class ="latitude"></div>',
'longitude' => '<div class ="longitude"></div>',
于 2013-09-22T14:02:12.513 回答