|
- <!DOCTYPE html>
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
- <style type="text/css">
- body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";}
- </style>
- <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=CSHY7cqPUt89ltPGNc7LK7wjG4qutlfB"></script>
- <title>地图展示</title>
- </head>
- <body>
- <div id="allmap"></div>
- <input type="button" value="发送消息到浏览器" onclick="onBtnSendMsg()" />
- </body>
- </html>
- <!-- <script src="baiduTilesInfo.js"></script> -->
- <script src="../js/qwebchannel.js"></script>
- <!--<script src="../js/msgutils.js"></script>-->
- <script type="text/javascript">
- //创建和初始化地图函数:
- function initMap(){
- createMap();//创建地图
- setMapEvent();//设置地图事件
- addMapControl();//向地图添加控件
- }
-
- //创建地图函数:
- function createMap(){
- var map = new BMap.Map("allmap");//在百度地图容器中创建一个地图
- var point = new BMap.Point(114.064552, 22.548456);//定义一个中心点坐标
- var marker=new BMap.Marker(point); //创建含有定位信息的标注
- map.addOverlay(marker); //将标注添加显示在地图上
- map.centerAndZoom(point,10);//设定地图的中心点和坐标并将地图显示在地图容器中
- window.map = map;//将map变量存储在全局
- }
-
- //地图事件设置函数:
- function setMapEvent(){
- map.enableDragging();//启用地图拖拽事件,默认启用(可不写)
- map.enableScrollWheelZoom();//启用地图滚轮放大缩小
- map.enableDoubleClickZoom();//启用鼠标双击放大,默认启用(可不写)
- map.enableKeyboard();//启用键盘上下左右键移动地图
- }
-
- //地图控件添加函数:
- function addMapControl(){
- //向地图中添加缩放控件
- var ctrl_nav = new BMap.NavigationControl({anchor:BMAP_ANCHOR_TOP_LEFT,type:BMAP_NAVIGATION_CONTROL_LARGE});
- map.addControl(ctrl_nav);
- //向地图中添加缩略图控件
- var ctrl_ove = new BMap.OverviewMapControl({anchor:BMAP_ANCHOR_BOTTOM_RIGHT,isOpen:1});
- map.addControl(ctrl_ove);
- //向地图中添加比例尺控件
- var ctrl_sca = new BMap.ScaleControl({anchor:BMAP_ANCHOR_BOTTOM_LEFT});
- map.addControl(ctrl_sca);
- map.addControl(new BMap.MapTypeControl({
- mapTypes:[
- BMAP_NORMAL_MAP,
- BMAP_HYBRID_MAP
- ]}));
- }
-
- // 增加初始Marker并以此为中心
- function addStartPosition(x,y){
- translateCallback = function (data){
- if(data.status === 0) {
- var point = new BMap.Point(x, y);
- var marker = new BMap.Marker(point,{icon:new BMap.Icon("../resource/icons8-marker-48.png", new BMap.Size(48,48))},
- {offset: new BMap.Size(0, 0)}); // 创建标注
- // var label = new BMap.Label(x+","+y+",",{offset:new BMap.Size(30,-10)});
- // marker.setLabel(label);
- map.addOverlay(marker);
- map.centerAndZoom(point,19);
- // marker.addEventListener("click", function(){
- // alert("click marker !!!!!!!");
- // });
- } }
- setTimeout(function(){ //GPS转百度坐标
- var convertor = new BMap.Convertor();
- var pointArr = [];
- pointArr.push(new BMap.Point(x,y));
- convertor.translate(pointArr, 1, 5, translateCallback) //;
- }, 100);
- }
-
- // 增加目标物Marker
- function addObjectPosition(x,y,index){
- translateCallback = function (data){
- if(data.status === 0) {
- object_points[index] = new BMap.Point(x, y);
- object_markers[index] = new BMap.Marker(object_points[index],{icon:new BMap.Icon("../resource/icons8-marker-16.png", new BMap.Size(16,16))},
- {offset: new BMap.Size(0, 0)});
- map.addOverlay(object_markers[index]);
- object_markers[index].addEventListener("click", function(){
- getIndex(index);
- });
-
-
- } }
- setTimeout(function(){ //GPS转百度坐标
- var convertor = new BMap.Convertor();
- var pointArr = [];
- pointArr.push(new BMap.Point(x,y));
- convertor.translate(pointArr, 1, 5, translateCallback) //;
- }, 100);
- }
-
- function clearALL(){
- map.clearOverlays();
- }
-
-
- //////////////////////////////////////////////////////////////////////////////////////////
- initMap();//创建和初始化地图
-
- // 与Qt建立联系
- new QWebChannel(qt.webChannelTransport,
- function(channel){
- window.bridge = channel.objects.context; // 注册
- }
- );
-
- // 监听鼠标所在地图的GPS并回传
- var updateInfo = function(lng, lat)
- {
- window.bridge.getCoordinates(lng, lat);
- }
-
- map.addEventListener("mousemove", function(e)
- {
- updateInfo(e.point.lng, e.point.lat);
- });
-
- // 监听点击目标物Marker,并回传index
- var object_points = [];
- var object_markers = [];
-
- var getIndex = function(idx)
- {
- window.bridge.getObjectIndex(idx);
- }
-
-
- </script>
- </html>
|