欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Google Map api v2的函数简介

程序员文章站 2022-04-25 19:14:59
...

function initialize(){ //GBrowserIsCompatible() 一般首先得判断浏览器是否支持Google maps的执行 if(GBrowserIsCompatible()){ var latlng = new GLatLng(39.9493,116.3975); //设置坐标 //给map指定一个容器div,第二个参数设置它的一些选项,该参数是一

function initialize(){
//GBrowserIsCompatible() 一般首先得判断浏览器是否支持Google maps的执行
if(GBrowserIsCompatible()){
var latlng = new GLatLng(39.9493,116.3975); //设置坐标
//给map指定一个容器div,第二个参数设置它的一些选项,该参数是一个对象,具体属性参见Google 地图API
var map = new GMap2(document.getElementById("map_canvas"),{size:new GSize(500,300),backgroundColor:"white"});
map.enableScrollWheelZoom(); //设置地图可以由鼠标滚轮控制缩放(默认是不会滚动缩放)。
map.setCenter(latlng,13); //设置地图的中心为该坐标点,13为缩放级别(0-19;0 可以看到整个世界,19可以看到独立建筑物)

var blueIcon = new GIcon(G_DEFAULT_ICON); //定义一个标记图片
//blueIcon.image="
http://www.google.cn/intl/en_us/mapfiles/ms/micons/blue-dot.png";
blueIcon.image="
http://labs.google.com/ridefinder/images/mm_20_red.png"; //标记的图片样式
//blueIcon.shadow="
http://labs.google.com/ridefinder/images/mm_20_shadow.png"; 阴影图片
//blueIcon.iconSize=new GSize(30,30);
//blueIcon.shadowSize=new GSize(0,0); 去掉标记图片的阴影

//在地图上的一个标记,draggable:设置该标记可以拖动;bouncy:设置该标记落下时是否弹跳一下(其他属性参见Google 地图API)
var marker = new GMarker(latlng,{icon:blueIcon,draggable:true,bouncy:false});
map.addOverlay(marker); //把这个标记添加到地图上

//对标记或者地图进行事件处理(下面的是对标记处理)
GEvent.addListener(marker,"click",function(){
map.setZoom(17); //设置地图的缩放程度
marker.openInfoWindowHtml("这是定位的位置"); //文字气球形式显示信息窗口
//map.openInfoWindowHtml(latlng,"这是定位的位置"); 上面的文字气球形式也可以这样显示
});

/*
如果地图点击发生在叠加层上,GMap2“点击”事件会传递 overlay 和 overlaylatlng(GLatLng),
否则只会传递它传递地图坐标的latlng
*/
GEvent.addListener(map,"click",function(overlay,latlng){
if(latlng){
var str = "坐标为:"+latlng.lat()+","+latlng.lng()+",缩放级别:"+map.getZoom
()+"
";
map.clearOverlays(); //清除所有标记
map.addOverlay(new GMarker(latlng));
map.openInfoWindowHtml(latlng,str);
}
});
}
}

map.enableScrollWheelZoom(); //设置地图可以由鼠标滚轮控制缩放(默认是不会)。
//map.disableScrollWheelZoom(); 设置地图不能由鼠标滚轮控制缩放(默认)。
//map.enableDoubleClickZoom(); 设置可以双击缩放地图,左键双击为放大,右键双击为缩小(默认)。
//map.disableDoubleClickZoom(); 禁止双击缩放地图
//map.disableDragging(); 禁止拖拽地图到新的位置
//map.setMapType(G_SATELLITE_MAP); 直接设置地图的显示形式(如:卫星显示)
/*
标准地图类型有四种(第四种不知道啥意思):
•G_NORMAL_MAP- 默认视图
•G_SATELLITE_MAP - 显示 Google 地球卫星图像
•G_HYBRID_MAP - 混合显示普通视图和卫星视图
•G_DEFAULT_MAP_TYPES - 这三个类型的数组,在需要重复处理的情况下非常有用
*/

下面是添加控件的
map.addControl(new GLargeMapControl()); //Google 地图上使用的大平移/缩放控件
//map.addControl(new GSmallMapControl()); Google 地图上使用的小一点的平移/缩放控件
map.addControl(new GMapTypeControl()); //用户切换地图类型(例如“地图”和“卫星”,以及混合地图)的按钮
map.addControl(new GScaleControl(),new GControlPosition(G_ANCHOR_BOTTOM_RIGHT,new GSize(5,20))); //显示地图的比例尺
//位于屏幕一角的可折叠概览地图,在这里通过GControlPosition设置了它的位置[所有的控件都可以设置位置,我发现开始的时候它还在默认
的右下方,当你点击缩小的时候才会跑到你指定的位置(很郁闷),其他的控件没有问题]、
//map.addControl(new GOverviewMapControl(),new GControlPosition(G_ANCHOR_BOTTOM_LEFT,new GSize(30,30)));