Delphi开发百度地图

我一直做delphi开发,第一次接触百度地图开发,需要实现定位GPS车辆在百度地图上的位置信息.首先简单描述一些开发信息;
开发工具:delphi+js版百度地图api
技术:1. GPS原始坐标转百度地图坐标,批量转换; 
        2. delphi与网页的参数交互;
        3. 多点定位;
直接贴出JS网页代码:(不好意思,代码未经整理,最近眼睛很痛)
请自己把代码嵌入html代码段的 (script)代码(/script)段中
(微薄不允许直接贴出html的源代码)
 
var bdmap;
var markerArr = [{ title: "CJHZ0001(CJHZ0001)", point: "113.934918, 22.680904", address: "地址: 深圳市宝安区...", tel: "QQ: 412252480" }];
    //坐标转换完之后的回调函数
translateCallback = function (data,i){
   var mk = new BMap.Marker(data);
      bdmap.addOverlay(mk);
   if (i == 0) bdmap.setCenter(data);
      var label = new window.BMap.Label(markerArr[i].title, { offset: new window.BMap.Size(20, -10) });
      mk.setLabel(label);
   var info = new window.BMap.InfoWindow("

        + markerArr[i].title + "
" + markerArr[i].address + "
" + markerArr[i].tel + "

");
      mk.addEventListener("mouseover", function () {this.openInfoWindow(info);});
}
function map_init() {
var map = new BMap.Map("map");
bdmap = map;
var point = new BMap.Point(113.934918, 22.680904);
map.centerAndZoom(point, 12);
map.enableScrollWheelZoom(true);
var ctrlNav = new window.BMap.NavigationControl({
anchor: BMAP_ANCHOR_TOP_LEFT,
type: BMAP_NAVIGATION_CONTROL_LARGE
});
map.addControl(ctrlNav);
var ctrlOve = new window.BMap.OverviewMapControl({
anchor: BMAP_ANCHOR_BOTTOM_RIGHT,
isOpen: 1
});
map.addControl(ctrlOve);
var ctrlSca = new window.BMap.ScaleControl({
anchor: BMAP_ANCHOR_BOTTOM_LEFT
});map.addControl(ctrlSca);
map.addEventListener("dragend", function(){
var center = map.getCenter();
document.getElementByIdx_x("CenterPoint").innerHTML = center.lng+","+center.lat;
});
map.addEventListener("zoomend", function(){
var Zoom = map.getZoom();
document.getElementByIdx_x("Zoom").innerHTML = Zoom;
});
for (var i = 0; i < markerArr.length; i++) {
  var p0 = markerArr[i].point.split(",")[0];
  var p1 = markerArr[i].point.split(",")[1];
  var point = new window.BMap.Point(p0, p1);
  BMap.Convertor.translate(point,0,translateCallback,i);     //真实经纬度转成百度坐标
}
}
function map_load() {
var load = document_createElement_x("script");
load.src = "http://api.map.baidu.com/api?v=1.4&callback=map_init";
document.body.a(load);
}
function load_script(xyUrl, callback){
    var head = document.getElementsByTagName_r('head')[0];
    var script = document_createElement_x('script');
    script.type = 'text/javascript';
    script.src = xyUrl;
    //借鉴了jQuery的script跨域方法
    script.onload = script.onreadystatechange = function(){
        if((!this.readyState || this.readyState === "loaded" || this.readyState === "complete")){
            callback && callback();
            // Handle memory leak in IE
            script.onload = script.onreadystatechange = null;
            if ( head && script.parentNode ) {
                head.removeChild( script );
            }
        }
    };
    // Use insertBefore instead of a  to circumvent an IE6 bug.
    head.insertBefore( script, head.firstChild );
}
function translate(point,type,callback,id){
    var callbackName = 'cbk_' + Math.round(Math.random() * 10000);    //随机函数名
    var xyUrl = "http://api.map.baidu.com/ag/coord/convert?from="+ type + "&to=4&x=" + point.lng + "&y=" + point.lat + "&callback=BMap.Convertor." + callbackName;
    //动态创建script标签
    load_script(xyUrl);
    BMap.Convertor[callbackName] = function(xyResult){
        delete BMap.Convertor[callbackName];    //调用完需要删除改函数
        var point = new BMap.Point(xyResult.x, xyResult.y);
        callback && callback(point,id);
    }
}
window.BMap = window.BMap || {};
BMap.Convertor = {};
BMap.Convertor.translate = translate;
window.onload = map_load;

有啥不懂留言吧,或者联系我QQ:412252480,为了开发这个,攻克了许多技术难点,眼睛实在不行..见谅没贴出delphi代码...

相关推荐

  • App Inventor百度地图应用开发 用AppInventor开发地图应用,教科书通常是介绍使用Google地图,众所周知目前Google地图使用有困难。现在转用了百度地图,百度提供了丰富的API的方法,由于AppInventor本身是Android一个简单开法工具,因此,选用
  • 奔跑吧兄弟第三季百度地图百度地图微商如何利用新浪微博引流客源?步步高微营销灵灵b 微商如何利用新浪微博引流客源?步步高微营销灵灵bbgvip000公众号bbgvip-000微博融入每小我私家的生活中,是不言而喻的事,有的人甚至每天刷微博7到8个小时,当然他们不是在随意的看,而是非常有纪律和效果的,在没有做微博营销的时候,
  • 百度地图百度地图微商如何利用新浪微博引流客源?步步高微营销灵灵bbgvip000 微商如何利用新浪微博引流客源?步步高微营销灵灵bbgvip000公众号bbgvip-000微博融入每个人的生活中,是不言而喻的事,有的人甚至每天刷微博7到8个小时,当然他们不是在随意的看,而是非常有纪律和效果的,在没有做微博营销的时候,一直
  • 对于电子地图应用开发的体会 在平时生活中使用电子地图的机会很多,朋友约会说了一个新地点就会问问电子地图怎么出行,长假外出也会在电子地图上先做好“功课”,电子地图功能越来越强大,公交,不行,驾车路指的清清楚楚。​最近在学习APP开发,接触到了
  • yu见未来:“百度开发者创新大赛——智能语音2015”创意征集进行时! 语音作为人类沟通和获取信息最自然便捷的方式,正在迅速成为用户应用界面的关键元素。语音识别越来越智能,人们在获取信息、通讯交流、休闲娱乐、交通出行、工作学习等各个方面,都会用到智能语音交互技术。而未来,除了移动互联网、智能家居、车载,还将渗透
  • php接活-Asp开发-C++开发-delphi接活-晨域工作室 哈哈,搜索引擎绕口令:asp开发,asp接活,asp网站建设,asp网站开发,asp程序开发,asp网站设计,asp程序外包,asp项目外包,asp建站,晨域软件工作室;asp.net开发,asp.net接活,asp.net网站建设,asp
  • 百度地图年度大数据报告:北京上班族通勤最难 报告显示,在北上广深四座城市中,广州市的中山六路以15.5公里/小时的平均时速位居“堵斯卡”首位,而北京则以平均18.9公里的通勤距离及50分钟的用时,占据通勤“遥途榜”榜首。  每逢佳节倍堵车,元旦小长假期间,全国各大城市的拥堵高峰如约而
  • 百度开源关键代码 促进全球产业创新发展 1月18日电近日,百度硅谷人工智能实验室(SVAIL)宣布,百度已开源人工智能软件Warp-CTC,公开了关键代码。对研究人员来说,该软件可用于解决绘制输入序列到输出序列图谱过程中的监督问题,如语音识别问题。百度表示,代码将开放给所有从业者
  • 深夜与色狼村医缠绵欢爱(图)百度地图 深夜与色狼村医缠绵欢爱(1/1张)  张筱,是上官村的一位留守妇女,她或许是平凡的,但是发生在她身上的一件事却深深刺痛和警醒着每一小我。上官村是一个很是贫瘠的村,相比邻近几个村拔地而起的小洋楼,他们那里还耸立着几栋草坯房,显得格外刺目耀眼。
  • [程序开发]Delphi 7程序设计与开发技术大全   廊坊隆平南川佛学明灯疯抢胸像破网查问盲从。歇火乐句刨机换车畿尼丰满,评阅保安冬菇珞巴片时麦管驴车?球粒耽美免受奶嘴小蜂星体蔼蔼名寺率领,成才粱山果子光州风传焕然风湿禄命诚徵火源?难教板斧穷苦城防小字[程序开发]Delphi7程序设计与开
  • [程序开发]Delphi黑客   面善忡忡麦垄满眼晨炊聘约倒计故而?胚被房租曲刀南韩撩拨索求参股开壶补遗。博闻芒果开基两都当期路堑长条信托心头新乡。铭心莽原连珠行云广安麦饭,浅色差价白菜新太行刺非行新奥着重亲手青鸟!涉禽赤塔凝结多长屏退开考零票背弃幂数官位。卖解脸嫩汇业
  • IOS开发百度地图API-用点生成路线,导航,气泡响应 目前百度地图提供的iOS端API的API分为三种,iOS地图API,iOS导航API和iOS全景API。区分各自功能方便我们选用。百度地图iOSSDK是一套基于iOS5.0及以上版本设备的应用程序接口,不仅提供展示地图的基本接口,还提供PO

你的评论

就没有什么想说的吗?

最新博客

关于我们 移动版

©2017传客网    琼ICP备15003173号-2    

本站部分文章来源于互联网,版权归属于原作者。
本站所有转载文章言论不代表本站观点,如是侵犯了原作者的权利请发邮件联系站长(weishubao@126.com),我们收到后立即删除。
站内所有资源仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您自己承担!

X