最近在開發(fā)一個項目,客戶有一個需求是這樣的,用電腦端的微信客戶端上的內(nèi)置瀏覽器打開一個需要用到百度地圖定位功能的頁面,也能實現(xiàn)在電腦的微信客戶端上的內(nèi)置瀏覽器定位,可是現(xiàn)在在電腦端的微信內(nèi)置瀏覽器打開該網(wǎng)頁是沒有定位成功的,整個百度地圖api都沒有加載成功,也無法查看那里報錯;在手機(jī)端的微信上的內(nèi)置瀏覽器打開是正常的,是可以用百度地圖api定位的;有遇到這個問題的小伙伴,求大神解答
網(wǎng)友回復(fù):
代碼問題吧
我的那部分代碼是這樣的,可是在手機(jī)上就沒有問題。
$("#tx").on('input propertychange',function(e){
search();
if($("#tx").val()==""){
$("#r-result").hide();
}else{
$("#r-result").show();
}
});
var map = new BMap.Map("map");
var geoc = new BMap.Geocoder();
var xarr=[];
var adda=[];
var proa=[];
$(document).ready(function(){
<!-- navigator.geolocation.getCurrentPosition(showPosition); -->
/* function showPosition(position) {
var gpsPoint = new BMap.Point(position.coords.longitude, position.coords.latitude);//HTML5的經(jīng)緯度
BMap.Convertor.translate(gpsPoint, 0, function (point) {
var geoc = new BMap.Geocoder();
geoc.getLocation(point, function (rs) {
map.addControl(new BMap.NavigationControl());
map.addControl(new BMap.ScaleControl());
map.addControl(new BMap.OverviewMapControl());
map.addOverlay(new BMap.Marker(point)) ;
var addComp = rs.addressComponents;
search(addComp.province+addComp.city+addComp.district+addComp.street+addComp.streetNumber,2);
})
});
} */
function gog(){
var point = new BMap.Point();
map.centerAndZoom(point,14);
var geolocation = new BMap.Geolocation();
geolocation.getCurrentPosition(function(r){
if(this.getStatus() == BMAP_STATUS_SUCCESS){
//console.log(r);
map.panTo(r.point);
var addComp=r.address;
var add2=addComp.district+addComp.street+addComp.street_number;
//console.log("add2=="+add2)
$(".dwcity").html(addComp.city);
$("#tx").val(add2);
$(".dwcity2").hide();
$(".dwcity1").show();
}else {
console.log('failed'+this.getStatus());
}
},{enableHighAccuracy: true});
}
// 城市選擇
var cityArr={
'A':[],'B':[],'C':[],'D':[],'E':[],'F':[],'G':[],'H':[],'I':[],'J':[],'K':[],'L':[],'M':[],'N':[],'P':[],'Q':[],'R':[],'S':[],'T':[],'W':[],'S':[],'X':[],'Y':[],'Z':[]
}
$.each(cityJson, function(idx, obj) {
$.each(cityArr, function(i, item) {
if(obj.item_code==i){
item.push(obj.item_name)
}
})
});
$.each(cityArr, function(idx, item) {
var navstr='';
var cityStr='';
var letter='';
for(i in item){
cityStr+="<p class='p1015 acity'>"+item[i]+"</p>";
}
letter="<p class='p1015 c_a3' id='city"+idx+"'>"+idx+"</p>"+cityStr;
$(".clist").append(letter);
navstr+='<a href="#city'+idx+'">'+idx+'</a>';
$('#citynav').append(navstr);
})
$(".acity").each(function(){
$(this).click(function(){
var myGeo = new BMap.Geocoder();
var txval=$(this).html();
//這里是自己選擇的
myGeo.getPoint(txval, function(point){
if (point) {
map.centerAndZoom(point, 14);
map.addOverlay(new BMap.Marker(point));
}else{
console.log("您選擇地址沒有解析到結(jié)果!");
}
}, txval);
$("#citylist").hide();
$("#dwcity").html(txval);
$("#tx").val("");
$("#r-result").hide();
})
})
//地圖展示
gog();
})
而且此時,$("#tx")上添加其他事件都沒起作用,,,
我的這個定位是自動定位的,是需要用戶授權(quán)的,在手機(jī)有授權(quán)彈窗出現(xiàn),電腦端的微信上就沒有了。
我把百度地圖jsAPI上的例子,直接放到該頁面中,在手機(jī)端是可以顯示,在電腦端的微信就沒有顯示,,,你的是怎么弄?
自己代碼的問題,解決了,