如何使用从Google Maps API中的本地PHP文件而非在线托管的JSON文件返回的JSON数据?

MBS

当使用Google Maps API在地图上合并数据时,我使用了本地PHP文件,该文件返回的JSON结果与通过myjson等网站通过托管在线存储的结果相同。但是,我无法按需使用本地PHP文件(这意味着如果我更新数据库,它将返回动态JSON文件)并出现错误。

此页面上有一个类似的示例,示例也使用托管的静态JSON文件,但不使用通过PHP文件使用PHP查询返回的JSON文件,因为我希望它是

此外,此功能(https://developers.google.com/maps/documentation/javascript/reference/data#Data.getFeatureById)也无济于事,因为该功能确实存在于集合中

function showStation(crimeType) {
    var map;

    map = new google.maps.Map(document.getElementById('map'),{
            zoom:9,
            center: {lat: 32.815939, lng: 73.305297}
        });


        map.data.loadGeoJson('stations.js', { idPropertyName: 'name' });

        var xhr = new XMLHttpRequest();

xhr.open('GET', 'https://api.myjson.com/bins/1e0rkl', true); //works
//xhr.open('GET', './data/stationdata.php', true); //does not work

xhr.onload = function() {
     var crimeData = JSON.parse(xhr.responseText);

     crimeData.forEach(function(row){          //line 170

       var crimeVariable = row[crimeType];
       console.log(crimeVariable);
       var stationName = row.stationName;
       console.log(stationName);

       console.log(map.data.getFeatureById(stationName)); //error1

       map.data.getFeatureById(stationName).            //Line 180
       setProperty(crimeType, crimeVariable); //error2
  }); 
}

xhr.send();
        map.data.setStyle(styleFeature);

} 

我收到错误:// error1和// error2未定义,我得到:

Uncaught TypeError: Cannot read property 'setProperty' of undefined at functions2.js:180 at Array.forEach (<anonymous>) at XMLHttpRequest.xhr.onload (functions2.js:170)

这是stationdata.php的响应:

[{"stationName":"PS Chotala","murder":"0.5238"},{"stationName":"PS City","murder":"0.6984"},{"stationName":"PS Civil Lines","murder":"0.5238"},{"stationName":"PS Dina","murder":"0.6984"},{"stationName":"PS Domeli","murder":"1.2222"},{"stationName":"PS Jalalpur Sharif","murder":"0.8730"},{"stationName":"PS Lilla","murder":"0.7857"},{"stationName":"PS Mangla Cantt","murder":"1.1349"},{"stationName":"PS Pind Dadan Khan","murder":"0.6984"},{"stationName":"PS Saddar","murder":"0.6984"},{"stationName":"PS Sohawa","murder":"3.1429"}] 
cptnk

您的row变量似乎为空或缺少必需的属性/数组键。

您没有共享应用程序的PHP部分,也没有共享文件夹/文件结构,因此很难确定错误本身。

您确定从中获得良好的响应代码'./data/stationdata.php'吗?您可以检查浏览器的“网络”选项卡以查看XHR请求是否返回错误代码,例如400、500、401。

另一方面,如果您获得了良好的响应代码,则您的JSON编码可能有错误,或者您的PHP文件中缺少JSON标头。

您可以在此处找到带有JSON标头的示例:从PHP脚本返回JSON

编辑:正如我在评论部分中提到的,这也可能是时间问题。可以将回调函数附加到gmaps脚本标签,该标签在完全加载后将访问您的自定义javascript。https://developers.google.com/maps/documentation/javascript/tutorial#Loading_the_Maps_API

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用php的Google Maps Api

如何使用接收到的json坐标更改Google Maps Center?

如何使用python抓取所有数据的google maps

您如何使用Google Maps api伪造您的位置

如何使用Google Maps API在缩小时收集标记?

如何使用React Google Maps API访问Map对象?

如何将Webpack与Google Maps API结合使用?

如何使用Google Maps API创建自动填充地址字段?

如何使用Google Maps API禁用鼠标滚轮缩放

如何使用gradle替换Google Maps API密钥?

如何使用 Google Maps API 平滑移动标记?

如何使用Google Maps API绘制虚线圆?

如何使用Google Maps API获取KML的中心点

IBM Worklight-如何使用Google Maps API

如何读取本地Google Maps数据?

如何在Google Maps SDK中的函数外使用变量

如何使用图像处理识别Google Maps图像中的树木?

如何使用Google Maps在ASP MVC中显示动态位置

如何在Ionic 3中使用Google Maps

如何使用uitextfield在Google Maps SDK中搜索地点

如何通过“中”参数从Google Maps API下载KML文件?

从 config.json 文件提供 google maps api 密钥

如何使用react-google-maps为使用create-react-app创建的React应用添加Google Maps API密钥?

使用Google App Engine通过JSON文件进行解析的动态标记和infoWindow Google Maps API

如何在Apple Maps或Google Maps中打开链接?

如何使用Google Maps API而非位置管理器获取用户当前的位置坐标

如何在Laravel(Google Maps API)中将PHP数据发送到Javascript文件

Google Maps REST API

Google Maps API DeletedApiProjectMapError