0
Google.API를 사용하여 특정 위치 정보가있는 일부 요소를 표시하는지도를 추가했습니다. 최신 브라우저에서는 모든 것이 정상적으로 작동하지만 IE7/8은 항상 문제가 있습니다. 각 요소의 위도/경도 매개 변수를 사용하여 맵을 가운데 정렬하려고 할 때 'lat'
이 "비어 있거나 객체가 아닙니다"라는 오류가 발생합니다 (라인 var pos_lat = parseFloat(data_map[i]['lat']);
). 스틸 마커는 동일한 데이터를 사용하여 적절한 위치에 추가됩니다. 누구나 이런 종류의 문제가 있었습니까?IE가 GoogleMap의 데이터 구문 분석 오류를 던졌습니다.
<script type='text/javascript'>
var map;
var mapStart = function(){
if(GBrowserIsCompatible()){
map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(51.961869,19.134521),6);
map.addControl(new GLargeMapControl());
var icon1 = new GIcon();
icon1.image = "/static/images/map_icon_1.png";
icon1.iconSize = new GSize(36, 30);
icon1.infoWindowAnchor = new GPoint(16,16);
icon1.iconAnchor = new GPoint(16,16);
var data_map = [{'url': '/bo/properties/property/7/', 'lat': '52.1898985', 'long': '20.8461914', 'name': 'asdfgh'},]
mapa.enableDoubleClickZoom();
mapa.enableContinuousZoom();
var bounds = new GLatLngBounds();
var maxlng =0;
var maxlat=0;
var minlng=0;
var minlat=0;
var positions=0;
var zoom = 0;
for (var i=0; i < data_map.length; i++){
var pos_lat = parseFloat(data_map[i]['lat']);
var pos_lon = parseFloat(data_map[i]['long']);
if(!isNaN(pos_lat) && !isNaN(pos_lon)){
positions = 1;
zoom++;
addMarker(pos_lat, pos_lon,{icon:icon1});
if (pos_lat < minlat || minlat==0){ minlat = pos_lat}
if (pos_lat > maxlat || maxlat==0){ maxlat = pos_lat}
if (pos_lon < minlng || minlng==0){minlng = pos_lon}
if (pos_lon > maxlng || maxlng==0){maxlng = pos_lon}
lat = minlat + ((maxlat - minlat)/2);
lng = minlng + ((maxlng - minlng)/2);
var allpoints = new GLatLng(lat,lng);
bounds.extend(allpoints);
}
}
if(positions){
if(zoom > 2){
mapa.setZoom(map.getBoundsZoomLevel(bounds)-2);
}
else{
map.setZoom(10);
}
map.setCenter(bounds.getCenter());
}
}
}
var addMarker = function(lat, lon, options){
point = new GLatLng(lat,lon);
var marker = new GMarker(point, options);
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml(info_box_html);
});
map.addOverlay(marker);
}
$(document).ready(function(){
mapStart();
});
window.onunload = function(){ GUnload()};
</script>
후행 쉼표의
data_map[i].lat
를 사용하려고 ...하지만 나는'.lat를 사용하는 것이이 시나리오에서 생각하지 않는다 '또는'[lat ']'*는 속성에 액세스하려고 할 때 차이를 만들어야합니다. – scunliffe