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