html百度定位坐标,百度地图定位及坐标转换

最近要搞一个活动,关于门店定位的:

将csv文件中的中文地址转换成百度地图经纬坐标:

$oneline对应csv文件中的地行地址

public function baiduMap(){

set_time_limit(0);

$file=APP_PATH.'ctrl/love.csv';

$handle=fopen($file,'r');

if($handle){

$i=0;

while(!feof($handle)){

$oneline=fgetss($handle);

if($oneline){

//var_dump($oneline);

//$oneline=str_replace('\r\n','',$oneline);

if(strlen($oneline)>2){

if($i<400){

$url='http://api.map.baidu.com/geocoder/v2/?output=json&ak=换成你自己的key &address='.$oneline;

$str=file_get_contents($url);

sleep(1);//休息一下,防止服务器挂掉

if($str){

$arr=json_decode($str,true);

//self::p($arr);

$x=$arr['result']['location']['lng'];

$y=$arr['result']['location']['lat'];

$sql="insert into `table` values(null,$oneline,$x,$y)
";

echo $sql;

}else{

echo $i.$oneline.'
';

}

}

$i++;

}

}

}

}

}

百度地图定位的一些接口:

中文地址转经纬度坐标:

http://api.map.baidu.com/geocoder/v2/?output=json&ak=你自己的key&address=中文地址

根据经纬度定位地址:

http://lbsyun.baidu.com/jsdemo.htm#i8_4

点击地图获取坐标:

http://lbsyun.baidu.com/jsdemo.htm#f0_3

绘制点线面:

http://lbsyun.baidu.com/jsdemo.htm#f0_7

百度地图地点标注及纠错:

http://i.map.baidu.com/api/page/poicorrect/addpoipc?business_trigger=8&city_id=301&poi_name=%E4%B8%AD%E5%B1%B1%E4%B8%AD%E5%AD%A6-%E5%85%AC%E4%BA%A4%E8%BD%A6%E7%AB%99

一个比较完整的经常用到的百度地图示例:

body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";}

地图展示

// 百度地图API功能

var map = new BMap.Map("allmap");    // 创建Map实例

var point = new BMap.Point(114.13429547417234, 22.574919563811855);//标注点

map.centerAndZoom(point, 16);  // 初始化地图,设置中心点坐标和地图级别

map.addControl(new BMap.MapTypeControl());   //添加地图类型控件

map.setCurrentCity("深圳市水贝万山珠宝园");          // 设置地图显示的城市 此项是必须设置的

map.enableScrollWheelZoom(true);     //开启鼠标滚轮缩放

map.addControl(new BMap.NavigationControl());//左上控件

//标注

var marker = new BMap.Marker(point);        // 创建标注

map.addOverlay(marker);                     // 将标注添加到地图中

//marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画

//监听标注事件

marker.addEventListener("click", function(e){

alert("当前位置:" + e.point.lng + ", " + e.point.lat);

});

//托拽的标注

marker.enableDragging();

marker.addEventListener("dragend", function(e){

alert("当前位置:" + e.point.lng + ", " + e.point.lat);

})

//地图上加信息窗口

var opts = {

width : 250,     // 信息窗口宽度

height: 100,     // 信息窗口高度

title : "闪盟珠宝"  // 信息窗口标题

}

var infoWindow = new BMap.InfoWindow("这里是内容区", opts);  // 创建信息窗口对象

map.openInfoWindow(infoWindow, map.getCenter());      // 打开信息窗口

//左上角加比例尺

var top_left_control = new BMap.ScaleControl({anchor: BMAP_ANCHOR_TOP_LEFT});// 左上角,添加比例尺

map.addControl(top_left_control);

// 添加带有定位的导航控件(地图上的点击获取当前位置)

var navigationControl = new BMap.NavigationControl({

// 靠左上角位置

anchor: BMAP_ANCHOR_TOP_LEFT,

// LARGE类型

type: BMAP_NAVIGATION_CONTROL_LARGE,

// 启用显示定位

enableGeolocation: true

});

map.addControl(navigationControl);

// 添加定位控件

var geolocationControl = new BMap.GeolocationControl();

geolocationControl.addEventListener("locationSuccess", function(e){

// 定位成功事件

var address = '';

address += e.addressComponent.province;

address += e.addressComponent.city;

address += e.addressComponent.district;

address += e.addressComponent.street;

address += e.addressComponent.streetNumber;

alert("当前定位地址为:" + address);

});

geolocationControl.addEventListener("locationError",function(e){

// 定位失败事件

alert(e.message);

});

map.addControl(geolocationControl);

///添加城市列表///

/*var mp = new BMap.Map("allmap");

var point = new BMap.Point(116.404, 39.915);

mp.centerAndZoom(point, 14);

mp.enableScrollWheelZoom();

mp.enableInertialDragging();

mp.enableContinuousZoom();

var size = new BMap.Size(10, 20);

mp.addControl(new BMap.CityListControl({

anchor: BMAP_ANCHOR_TOP_LEFT,

offset: size,

// 切换城市之间事件

// onChangeBefore: function(){

//    alert('before');

// },

// 切换城市之后事件

// onChangeAfter:function(){

//   alert('after');

// }

}));

*/

/****************测距离***************/

// 百度地图API功能

/*var map = new BMap.Map("allmap");

map.centerAndZoom("万山珠宝园",16);

var myDis = new BMapLib.DistanceTool(map);

map.addEventListener("load",function(){

myDis.open();  //开启鼠标测距

//myDis.close();  //关闭鼠标测距大

});

*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值