google与百度地图api体验笔记

1google地图

<!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } A:link { so-language: zxx } -->

google图像现可以使用为两个版本V2V3. 其中为V2需要申请第一地图key,申请地图条件是必须要有一级域名。V3按现有策略(正在推广),暂时没有不需要key. google地图接口实例说明较多,对于入门教容易。google地图目前最大问题,已经很久没有更新了,但功能绝对酷,接口简洁。

api说明页面为:hhttp://code.google.com/apis/maps/index.html,说明很强大。

功能测试:在tk dot 申请一级域名,定位自己电脑,使用Apacheweb服务起,直接在index.html文件写js代码测试。

googleV2的实例

<html>

<title>

google map test

</title>

<body>

<div id="map" style="width: 1600px; height: 800px" align="center"></div>

<script type="text/javascript" src="http://www.google.com/jsapi?key=yourkey"></script>

<script type="text/javascript">

google.load("maps", "2.x");

// Call this function when the page has been loaded

function initialize() {

var map = new google.maps.Map2(document.getElementById("map"));

map.setCenter(new google.maps.LatLng(30.2777, 120.1579), 13);

}

google.setOnLoadCallback(initialize);

</script>

</body>

</html>

 

googleV3的实例, 功能描述 定位到杭州,并在添加一个摄像机图片

 

<!DOCTYPE html>

<html>

<head>

<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />

<style type="text/css">

html { height: 100% }

body { height: 100%; margin: 0px; padding: 0px }

#map_canvas { height: 100% }

</style>

<script type="text/javascript"

src="http://maps.google.com/maps/api/js?sensor=false&region=GB">

</script>

<script type="text/javascript">

function initialize() {

var latlng = new google.maps.LatLng(30.2777, 120.1579);

var myOptions = {

zoom: 13,

center: latlng,

mapTypeId: google.maps.MapTypeId.ROADMAP

};

var map = new google.maps.Map(document.getElementById("map_canvas"),

myOptions);

var image='Camera.jpg';

var myLatLng = new google.maps.LatLng(30.2773, 120.1572);

var beachMarker = new google.maps.Marker({

position: myLatLng,

map: map,

icon: image

});

}

</script>

</head>

<title>

google test map v3

</title>

<body οnlοad="initialize()">

<div id="map_canvas" style="width:1400px; height:900px"></div>

</body>

</html>


 

 

2baidu地图 定位到杭州,并在添加一个摄像机图片

 

<!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } A:link { so-language: zxx } -->

baidu地图推出不久,使用必须有keykey申请必须有一级域名或固定ip

api说明页面为:http://openapi.baidu.com/map/index.html实例与类说明已经比较全。

测试方法同google地图测试。

 

实例,功能描述 定位到杭州,并在添加一个摄像机图片

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

<meta name="keywords" content="百度地图,百度地图API,百度地图自定义工具,百度地图所见即所得工具" />

<meta name="description" content="百度地图API自定义地图,帮助用户在可视化操作下生成百度地图" />

<title >buidu map test</title>

<!--引用百度地图API-->

<style type="text/css">

html,body{margin:0;padding:0;}

.iw_poi_title {color:#CC5522;font-size:14px;font-weight:bold;overflow:hidden;padding-right:13px;white-space:nowrap}

.iw_poi_content {font:12px arial,sans-serif;overflow:visible;padding-top:4px;white-space:-moz-pre-wrap;word-wrap:break-word}

</style>

<script type="text/javascript" src="http://api.map.baidu.com/api?key=25c22b0432f678a327e798c267ba5737&v=1.1&services=true"></script>

</head>

<body>

<!--百度地图容器-->

<div style="width:1400px;height:800px;border:#ccc solid 1px;" id="dituContent"></div>

</body>

<script type="text/javascript">

//创建和初始化地图函数:

function initMap(){

createMap();//创建地图

addMapMarker();//向地图添加一个图标

setMapEvent();//设置地图事件

addMapControl();//向地图添加控件

}

//创建地图函数:

function createMap(){

var map = new BMap.Map("dituContent");//在百度地图容器中创建一个地图

var point = new BMap.Point(120.1579, 30.2777);//定义一个中心点坐标

map.centerAndZoom(point,14);//设定地图的中心点和坐标并将地图显示在地图容器中

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);

}

 

// 编写自定义函数,创建标注

function addMapMarker(){

// 创建图标对象

var myIcon = new BMap.Icon("Camera.jpg",new BMap.Size(50, 50));

var mypoint = new BMap.Point(120.1572,30.2773) ;//定义一个中心点坐标

// 创建标注对象并添加到地图

var marker = new BMap.Marker(mypoint, {icon: myIcon});

map.addOverlay(marker);

}

 

initMap();//创建和初始化地图

</script>

</html>



3:坐标问题

 

实测baidugoogle会发现相同地方坐标略有不同。其中一个原因在中国坐标是加密的,即baidugoogle的坐标与实际经度与纬线都有偏差,偏差量大约为几百米到一千米,至于采用什么坐标系未明,转化方法非官方获取不到。而GRS出的为采用WGS84坐标系(World Geodetic System 1984),这是美国GPS全球定位系统使用而建立的坐标系 

结论:baidugoogle的坐标数据只能适用各自本身地图。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值