Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.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 如果条件允许,谷歌地图_Javascript_Jquery_Html_Google Maps Api 3 - Fatal编程技术网

Javascript 如果条件允许,谷歌地图

Javascript 如果条件允许,谷歌地图,javascript,jquery,html,google-maps-api-3,Javascript,Jquery,Html,Google Maps Api 3,我有一个场景,谷歌地图加载来自数据库的经度和纬度,或者使用同样来自数据库的邮政编码,如果long-lat变为null,则无法正常工作。我正在将long、lat、Pin代码值绑定到隐藏字段 剧本是: var lat = $('#<%=hdnLat.ClientID %>').val(); var long = $('#<%=hdnLong.ClientID %>').val(); var add = $('#<%=hdnAddress.ClientID %>')

我有一个场景,谷歌地图加载来自数据库的经度和纬度,或者使用同样来自数据库的邮政编码,如果long-lat变为null,则无法正常工作。我正在将long、lat、Pin代码值绑定到隐藏字段

剧本是:

var lat = $('#<%=hdnLat.ClientID %>').val();
var long = $('#<%=hdnLong.ClientID %>').val();
var add = $('#<%=hdnAddress.ClientID %>').val();
var title = $('#<%=hdnTitle.ClientID %>').val();
var pinCode = $('#<%=hdnPin.ClientID %>').val();

if (!lat == '' || !lat == null) {
    function initialize() {
        var latlng = new google.maps.LatLng(lat, long);
        var zoomratio = 15;
        var mapOptions = {
            center: latlng,
            zoom: zoomratio,
            scrollwheel: true,
            draggable: true,
            mapTypeControl: true,
            mapTypeControlOptions: {
                style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR,
                position: google.maps.ControlPosition.RIGHT_TOP
            },
            panControl: false,
            zoomControl: true,
            streetViewControl: false,
            mapTypeId: google.maps.MapTypeId.ROADMAP,
            zoomControlOptions: {
                style: google.maps.ZoomControlStyle.SMALL,
                position: google.maps.ControlPosition.RIGHT_BOTTOM
            }
        };
        var infoWindow = new google.maps.InfoWindow();
        var map = new google.maps.Map(document.getElementById("googlemap"), mapOptions);
        var url = "Images/YellowPages/pointer.png";
        var htmlStr = "<div style='border:1px solid #ddd;padding:3px;'>" +
           "<h4 style='margin-top:0;width:200px;line-height:1.25;'>" + title + "</h4>" +
           "<p>" + add + "</p>" +
           "</div>";
        var marker = new google.maps.Marker({
            position: latlng,
            map: map,
            icon: url,
            title: title
        });
        (function (marker, htmlStr) {
            google.maps.event.addListener(marker, "click", function (e) {
                infoWindow.setContent(htmlStr);
                infoWindow.open(map, marker);
            });
        })(marker, htmlStr);
    }
    google.maps.event.addDomListener(window, 'load', initialize);
} else {
    function initialize() {
        geocoder = new google.maps.Geocoder();
        var latlng = new google.maps.LatLng(12.9539974, 77.6309395);
        var zoomratio = 8;
        var mapOptions = {
            center: latlng,
            zoom: zoomratio,
            scrollwheel: true,
            draggable: true,
            mapTypeControl: true,
            mapTypeControlOptions: {
                style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR,
                position: google.maps.ControlPosition.RIGHT_BOTTOM
            },
            panControl: false,
            zoomControl: true,
            streetViewControl: false,
            mapTypeId: google.maps.MapTypeId.ROADMAP,
            zoomControlOptions: {
                style: google.maps.ZoomControlStyle.SMALL,
                position: google.maps.ControlPosition.RIGHT_BOTTOM
            }
        }
        map = new google.maps.Map(document.getElementById('googlemap'), mapOptions);
        codeAddress();
    }

    function codeAddress() {

        geocoder.geocode({ 'address': pinCode + ', India' }, function (results, status) {
            if (status == google.maps.GeocoderStatus.OK) {
                map.setCenter(results[0].geometry.location);
                var marker = new google.maps.Marker({
                    map: map,
                    position: results[0].geometry.location
                });
            } else {
                alert('Geocode was not successful for the following reason: ' + status);
            }
        });
    }
    google.maps.event.addDomListener(window, 'load', initialize);
}
var lat=$('#').val();
var long=$('#').val();
var add=$('#').val();
var title=$('#').val();
var pinCode=$('#').val();
如果(!lat=''| |!lat==null){
函数初始化(){
var latlng=新的google.maps.latlng(lat,long);
var zoomratio=15;
变量映射选项={
中心:拉特林,
zoom:zoomratio,
滚轮:对,
真的,
mapTypeControl:true,
mapTypeControlOptions:{
样式:google.maps.MapTypeControlStyle.HORIZONTAL_BAR,
位置:google.maps.ControlPosition.RIGHT\u顶部
},
泛控制:错误,
动物控制:对,
街景控制:错误,
mapTypeId:google.maps.mapTypeId.ROADMAP,
ZoomControl选项:{
样式:google.maps.ZoomControlStyle.SMALL,
位置:google.maps.ControlPosition.RIGHT\u底部
}
};
var infoWindow=new google.maps.infoWindow();
var map=new google.maps.map(document.getElementById(“googlemap”)、mapOptions);
var url=“Images/YellowPages/pointer.png”;
var htmlStr=“”+
“”+标题+“”+
“”+添加+”

”+ ""; var marker=new google.maps.marker({ 位置:latlng, 地图:地图, 图标:url, 标题:标题 }); (功能(标记器、htmlStr){ google.maps.event.addListener(标记“单击”,函数(e){ infoWindow.setContent(htmlStr); 信息窗口。打开(地图、标记); }); })(标记,htmlStr); } google.maps.event.addDomListener(窗口“加载”,初始化); }否则{ 函数初始化(){ geocoder=新的google.maps.geocoder(); var latlng=new google.maps.latlng(12.9539974,77.6309395); var zoomratio=8; 变量映射选项={ 中心:拉特林, zoom:zoomratio, 滚轮:对, 真的, mapTypeControl:true, mapTypeControlOptions:{ 样式:google.maps.MapTypeControlStyle.HORIZONTAL_BAR, 位置:google.maps.ControlPosition.RIGHT\u底部 }, 泛控制:错误, 动物控制:对, 街景控制:错误, mapTypeId:google.maps.mapTypeId.ROADMAP, ZoomControl选项:{ 样式:google.maps.ZoomControlStyle.SMALL, 位置:google.maps.ControlPosition.RIGHT\u底部 } } map=new google.maps.map(document.getElementById('googlemap')、mapOptions); 代码地址(); } 函数代码地址(){ geocoder.geocode({'address':pinCode+',India'},函数(结果,状态){ if(status==google.maps.GeocoderStatus.OK){ map.setCenter(结果[0].geometry.location); var marker=new google.maps.marker({ 地图:地图, 位置:结果[0]。几何体。位置 }); }否则{ 警报('地理编码因以下原因未成功:'+状态); } }); } google.maps.event.addDomListener(窗口“加载”,初始化); }
问题是
google.maps.event.addDomListener(窗口“加载”,初始化)lat
long
变量中有值,则code>始终首先设置为第一个条件,然后立即跳到第二个条件


是否有任何方法可以避免这种情况,或者有任何简单的方法可以避免这种情况?

您对这种情况有问题

if(!lat == '' || !lat == null)
它的计算结果总是TRUE(因为!lat表示FALSE)

你想写的是:

if(lat != '' || lat != null)