問題描述:
VC中使用duilib呼叫本地html
html中呼叫百度js庫,呼叫百度的瀏覽器定位的介面(直接使用官方控制元件)
// 添加帶有定位的導航控制元件
var navigationControl = new BMap.NavigationControl({
// 靠左上角位置
anchor: BMAP_ANCHOR_TOP_RIGHT,
// LARGE型別
type: BMAP_NAVIGATION_CONTROL_LARGE,
// 啟用顯示定位
enableGeolocation: true,
offset: new BMap.Size(10, 70)
});
map.addControl(navigationControl);
html單獨在瀏覽器中啟動運行時,點擊定位按鈕,瀏覽器會提醒“file:///想要獲取您的位置”,允許或禁止的按鈕。允許后可正常定位。

但是如果在VC內嵌的ie中運行,不會彈出此提示,所有一直無法定位,找了很多資料,IE的腳本也允許了,都無法解決。
求助大神們~~~~~~~~
uj5u.com熱心網友回復:
可以發工程來試試嗎?
uj5u.com熱心網友回復:
這個提示 瀏覽器都會彈出來的。你要不要考慮別的方案 不通過JS獲取定位資訊 比如有沒有通過C++就可以獲取定位的介面?
百度找找看吧
uj5u.com熱心網友回復:

我只有這種 根據名稱搜索的定位
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="baiduditu.WebForm1" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<ul>
<dl>
<dt>詳細地址</dt>
<dd>
<asp:TextBox ID="txt_address" runat="server" CssClass="input normal" datatype="*5-150" sucmsg=" "></asp:TextBox>
<input id="loca" type="button" class="btn btn5" onclick="javascript: geocoder()" value="https://bbs.csdn.net/topics/定位" />
<asp:HiddenField ID="lat" runat="server" />
<asp:HiddenField ID="lng" runat="server" />
<span class="Validform_checktip">商場詳細地址必須填寫,且需要定位。</span></dd>
</dl>
<dl>
<dt></dt>
<dd class="mapField">
<div id="mapContainer" style="width: 678px; height: 400px;"></div>
</dd>
</dl>
</ul>
</div>
</form>
<script type="text/javascript" charset="utf-8" src="https://bbs.csdn.net/scripts/jquery-1.11.2.min.js"></script>
<script src="http://webapi.amap.com/maps?v=1.3&key=e352fb7102396e43776007e02c1b642c"></script>
<script type="text/javascript">
var map;
//初始化地圖物件,加載地圖
map = new AMap.Map("mapContainer", {
<%=initMap%>
resizeEnable: true
});
var marker = '';
//為地圖注冊click事件獲取滑鼠點擊出的經緯度坐標
var clickEventListener = AMap.event.addListener(map, 'click', function (e) {
var lng = e.lnglat.getLng();
var lat = e.lnglat.getLat();
console.log(marker)
if (!marker) {
marker = new AMap.Marker({
icon: "http://webapi.amap.com/images/3.png",
position: new AMap.LngLat(lng, lat)
});
marker.setMap(map); //在地圖上添加點
}
else {
marker.setPosition(new AMap.LngLat(lng, lat));
}
document.getElementById("lng").value = lng;
document.getElementById("lat").value = lat;
// showTip.show('坐標提取成功', false);
});
function geocoder() {
if (!$("#txt_address").val()) {
alert("請先填寫地址");
return;
}
var MGeocoder;
AMap.service(["AMap.Geocoder"], function () {
MGeocoder = new AMap.Geocoder();
MGeocoder.getLocation($("#txt_address").val(), function (status, result) {
if (status === 'complete' && result.info === 'OK') {
var lng = result.geocodes[0].location.getLng();
var lat = result.geocodes[0].location.getLat();
$("#lng").val(lng);
$("#lat").val(lat);
map.setZoomAndCenter(20, new AMap.LngLat(lng, lat));
console.info(lng)
console.log(lat)
console.log(marker)
if (!marker) {
console.log(map)
marker = new AMap.Marker({
icon: "http://webapi.amap.com/images/3.png",
position: new AMap.LngLat(lng, lat)
});
marker.setMap(map); //在地圖上添加點
}
else {
marker.setPosition(new AMap.LngLat(lng, lat));
}
}
else { alert(status + " " + result.info) }
});
});
}
<%=setMarker%>
$(".amap-logo").attr("style", "display:none");
//function loca2() {
// var myGeo = new BMap.Geocoder(); //<%--新建一個地址翻譯類--%>
// var dizhi = $("#txt_address").val(); //<%--組成地址--%>
// myGeo.getPoint(dizhi, function (point) { //<%--地址翻譯成坐標--%>
// if (point) {
// map.centerAndZoom(point, 15); //<%--將地圖中心轉向坐標處--%>
// $("#lat").val(point.lat); //<%--控制元件賦值--%>
// $("#lng").val(point.lng); //<%--控制元件賦值--%>
// overLay.setPosition(point); //<%--給覆寫物賦坐標--%>
// map.addOverlay(overLay); //<%--在地圖中添加覆寫物--%>
// }
//}, "上海");
// };
</script>
</body>
</html>
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/7408.html
標籤:HTML/XML
上一篇:halcon 求解這條陳述句
