急急急,在线等!!!! duilib调用本地html,js调用百度的浏览器定位接口不成功

Normandie007 2018-07-05 02:47:50
问题描述:
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的脚本也允许了,都无法解决。
求助大神们~~~~~~~~
...全文
387 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
一叶知秋~ 2020-09-06
  • 打赏
  • 举报
回复
我只有这种 根据名称搜索的定位 <%@ 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="定位" /> <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="/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>
浴火_凤凰 2020-07-07
  • 打赏
  • 举报
回复
这个提示 浏览器都会弹出来的。 你要不要考虑别的方案 不通过JS获取定位信息 比如有没有通过C++就可以获取定位的接口? 百度找找看吧
叶恭介叶恭介 2018-07-05
  • 打赏
  • 举报
回复
可以发工程来试试吗?

3,055

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC HTML/XML
社区管理员
  • HTML/XML社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧