Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.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 未捕获类型错误:无法读取属性';targetLat';未定义的_Javascript_Html_Json_Ajax_Google Maps - Fatal编程技术网

Javascript 未捕获类型错误:无法读取属性';targetLat';未定义的

Javascript 未捕获类型错误:无法读取属性';targetLat';未定义的,javascript,html,json,ajax,google-maps,Javascript,Html,Json,Ajax,Google Maps,我只是在谷歌地图上放了一些标记,它可以按照我的要求工作,标记会按照地图上的要求显示,但是我在控制台上遇到了这个错误,我不知道为什么这个应用会在android上运行,而不是在windows phone上运行 function initMap() { var map; var faisalabad = { lat: 30.044281, lng: 31.340002 }; $('#locaitonBtn').click(function () {

我只是在谷歌地图上放了一些标记,它可以按照我的要求工作,标记会按照地图上的要求显示,但是我在控制台上遇到了这个错误,我不知道为什么这个应用会在android上运行,而不是在windows phone上运行

function initMap() {
        var map;
        var faisalabad = { lat: 30.044281, lng: 31.340002 };

        $('#locaitonBtn').click(function () {
            if (navigator.geolocation) {
                navigator.geolocation.getCurrentPosition(function (position) {
                    var latlng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
                    map.setCenter(latlng);
                });
            }
        })

        map = new google.maps.Map(document.getElementById('map'), {
            zoom: 10,
            center: faisalabad,
            disableDefaultUI: true
        });
        $.ajax({
            async:false,
            url: "https://someUrl",
            method: "GET",
            dataType: 'json',
            success: function (data) {
                var infowindow = new google.maps.InfoWindow();
                for (i = 0; i <= data.targets.length; i++) {
                    var myLatLng = new google.maps.LatLng(data.targets[i].targetLat, data.targets[i].targetLong);
                    myMarker = new google.maps.Marker({
                        map: map,
                        animation: google.maps.Animation.DROP,
                        position: myLatLng
                    });

                    google.maps.event.addListener(myMarker, 'click', (function (myMarker, i) {
                        return function () {
                            infowindow.setContent(data.targets[i].targetName);
                            infowindow.open(map, myMarker);
                        }
                    })(myMarker, i));
                }
            }
        })

    }
函数initMap(){
var映射;
var faisalabad={lat:30.044281,lng:31.340002};
$('#locaitonBtn')。单击(函数(){
if(导航器.地理位置){
navigator.geolocation.getCurrentPosition(函数(位置){
var latlng=新的google.maps.latlng(position.coords.latitude,position.coords.longitude);
地图设置中心(latlng);
});
}
})
map=new google.maps.map(document.getElementById('map'){
缩放:10,
中心:费萨拉巴德,
disableDefaultUI:true
});
$.ajax({
async:false,
url:“https://someUrl",
方法:“获取”,
数据类型:“json”,
成功:功能(数据){
var infowindow=new google.maps.infowindow();
对于(i=0;i
$.ajax({
async:false,
url:“https://someUrl",
方法:“获取”,
数据类型:“json”,
成功:功能(数据){
var infowindow=new google.maps.infowindow();

对于(var i=0;i我无法在任何地方解决问题或找到答案,因此我将成功函数添加到了try-catch块,这样它就不会控制台错误,我现在可以在windows phone上运行应用程序了

请创建一个控制台。日志(数据)在你的成功函数中。如果你没有在json中找到失败,发布这个日志元素,我会尽力帮助你。但是我认为这些字段的名称与你尝试访问的不同,或者你只是有一个typo@mtizziani我对记录的数据进行了屏幕截图,以便您可以看到我尝试了您的答案,并感谢您的帮助,但错误仍然存在re和它在这一行
var mylatng=new google.maps.LatLng(data.targets[i].targetLat,data.targets[i].targetLong);
你检查过你的数组中是否有
i
可用吗?
console.log(data.targets.hasOwnProperty(i))
我尝试过,结果是您将找到记录的数据,3为真,3为假,3为循环中的对象数,因为我只想显示3个位置,但我不知道这是假
function initMap() {
        var map;
        var faisalabad = { lat: 30.044281, lng: 31.340002 };

        $('#locaitonBtn').click(function () {
            if (navigator.geolocation) {
                navigator.geolocation.getCurrentPosition(function (position) {
                    var latlng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
                    map.setCenter(latlng);
                });
            }
        })

        map = new google.maps.Map(document.getElementById('map'), {
            zoom: 10,
            center: faisalabad,
            disableDefaultUI: true
        });
        $.ajax({
            async:false,
            url: "https://someUrl",
            method: "GET",
            dataType: 'json',
            success: function (data) {
                var infowindow = new google.maps.InfoWindow();
                for (i = 0; i <= data.targets.length; i++) {
                    var myLatLng = new google.maps.LatLng(data.targets[i].targetLat, data.targets[i].targetLong);
                    myMarker = new google.maps.Marker({
                        map: map,
                        animation: google.maps.Animation.DROP,
                        position: myLatLng
                    });

                    google.maps.event.addListener(myMarker, 'click', (function (myMarker, i) {
                        return function () {
                            infowindow.setContent(data.targets[i].targetName);
                            infowindow.open(map, myMarker);
                        }
                    })(myMarker, i));
                }
            }
        })

    }