Javascript 如果条件允许,谷歌地图
我有一个场景,谷歌地图加载来自数据库的经度和纬度,或者使用同样来自数据库的邮政编码,如果long-lat变为null,则无法正常工作。我正在将long、lat、Pin代码值绑定到隐藏字段 剧本是: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 %>')
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)