2011-12-21 60 views
0

我很确定我的一切都正确。你能否为我检查一下。它给了我在控制台这个错误:“未捕获错误:0值不是函数(从另一种语言翻译)正确”我不明白为什么这不起作用。地图不加载

function map_load() { 
    var draw; 

    var coords = Array(23.078412614088098, 57.33448100333726, 
23.07858534246487, 57.33415377383744, 
23.078234950383354, 57.33415913825547, 
23.078190534420507, 57.334582927279826, 
23.07792403833525, 57.3352266574434); 

    var s = -2; 
    var triangleCoords = []; 
    var coords_num = coords.length/2; 

    for (i = 0; i < coords_num ; i++) { 
     s += 2; 
     triangleCoords[i] = google.maps.LatLng(coords[s],coords[s+1]); 
    } 

    var center1 = google.maps.LatLng(coords[0], coords[1]); 

if (coords.length > 1) { 
    draw = new google.maps.Polygon({ 
     paths: triangleCoords, 
     strokeColor: "#FF0000", 
     strokeOpacity: 0.8, 
     strokeWeight: 2, 
     fillColor: "#FF0000", 
     fillOpacity: 0.35 
    }); 
} else { 
    draw = new google.maps.Marker({ 
     position: triangleCoords, 
     title:"your item location" 
    }); 
} 

    var myOptions = { 
     zoom: 16, 
     center: center1, 
     panControl:false, 
     streetViewControl:false, 
     mapTypeId: google.maps.MapTypeId.HYBRID 
    }; 

    var map = new google.maps.Map(document.getElementById("map"), myOptions); 
    draw.setMap(map); 
} 
+0

什么线你得到的错误? – 2011-12-21 21:40:00

+0

main.js,line 1 character 28 – 2011-12-21 21:42:43

+0

main.js从[link]获取(maps.gstatic.com/cat_js/intl/ar_ALL/mapfiles/api-3/7/5) – 2011-12-21 21:44:43

回答

1

你犯同样的错误两次,缺少‘新’构造您的LatLng对象。

triangleCoords[i] = google.maps.LatLng(coords[s],coords[s+1]); 

应该

triangleCoords[i] = new google.maps.LatLng(coords[s],coords[s+1]); 

在中心1

var center1 = google.maps.LatLng(coords[0], coords[1]); 

也恰好应

var center1 = new google.maps.LatLng(coords[0], coords[1]); 
+0

非常感谢。我真的对代码感到愤怒,因为我多次阅读它。我非常感谢你的帮助。再次感谢你。 – 2011-12-22 13:47:57

相关问题