Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Gmaps、js插件不显示地图_Javascript_Json_Google Maps_Gmaps.js - Fatal编程技术网

Javascript 使用Gmaps、js插件不显示地图

Javascript 使用Gmaps、js插件不显示地图,javascript,json,google-maps,gmaps.js,Javascript,Json,Google Maps,Gmaps.js,我从PHP获取纬度和经度数据。下面的代码显示了我是如何创建JSON数据的 $arr = array(); while($row = mysqli_fetch_assoc($last_seen_query)){ $arr[] = array( "lat" => $row['lat'], "lang" => $row['lang'], "last_push" => $row['last_push'] ); }

我从PHP获取纬度和经度数据。下面的代码显示了我是如何创建JSON数据的

$arr = array();
while($row = mysqli_fetch_assoc($last_seen_query)){

    $arr[] = array(

        "lat" => $row['lat'],
        "lang" => $row['lang'],
        "last_push" => $row['last_push']

    );

}

$json = json_encode($arr);

echo $json;
这就是JSON结果

[{"lat":"-17.7462033","lang":"31.0718699","last_push":"2016-02-12 11:47:22"}]
然后在我要显示页面的网页上,这是代码

        $('.last_seen_locale').on('click', function(){
        var uuid = $('.id-ref').attr('data-uuid');
        var map;
        var mylat;
        var mylong;
         var locationCoordinates = [];

        $.post('process_device.php', {uuid: uuid, displayMap:displayMap}, function(data){
            //locationCoordinates = $.parseJSON(data);

            for(var i = 0; i < data.length; i++){

                mylat = data[i].lat;
                mylong = data[i].lang;
            }

            map = new GMaps({
               div: '.map',
               lat: mylat,
               lng: mylong,
               zoom: 14

            });

            map.addMarker({
              lat: mylat,
              lng: mylong,
              title: 'Muzinda',
              click: function(e) {
                alert('You clicked in this marker');
              }
            });


        });        
$('.last_seen_locale')。在('click',function()上{
var uuid=$('.id ref').attr('data-uuid');
var映射;
var mylat;
var mylong;
变量位置坐标=[];
$.post('process_device.php',{uuid:uuid,displayMap:displayMap},函数(数据){
//locationCoordinates=$.parseJSON(数据);
对于(变量i=0;i
所以,如果我在web浏览器中运行此代码,Firefox调试将显示以下错误:“未捕获异常:未定义纬度或经度”。
我不知道哪里出错了。非常感谢您的解决方案。

问题可能是因为您的JSON响应将纬度和经度作为字符串,例如
“-17.7462033”
。谷歌地图需要的是浮点数,而不是字符串。我不知道gmaps.js插件是如何处理这些问题的,但你可能更幸运地将它们转换为数字,例如
mylat=parseFloat(data[I].lat)
谢谢@duncan不幸的是,它不起作用。我非常感谢您的帮助。我已经尝试放置静态经纬度数据,它可以很好地显示地图和标记。我仍在挠头看错误。@duncan
console.log(数据)的作用是什么
在您的AJAX回调中看起来如何?Hy Duncan我设法解决了这个问题,我意识到我应该将PHP查询文件放在其上。我的PHP和AJAX在同一页面上运行,这就是我在回调时出错的原因。AJAX代码非常完美。