`
aokunsang
  • 浏览: 816101 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Google Map在项目中的使用

阅读更多

1、在这里给大家提供一个网页版的Google Map Api(英文版),
地址:http://code.google.com/intl/zh-CN/apis/maps/documentation/javascript/v2/reference.html;
以及附件中有一个对Google Map Api的详细解析(不是很完整),以供大家的深入研究学习。
2、首先注册一个使用Google Map Api的key值,
地址:http://code.google.com/intl/zh-CN/apis/maps/signup.html;
【注意】它需要你先登录Google账户才能注册。
3、开发的时候需要导入Google Map Api的JS引用,使我们可以使用Google提供的一些类和方法。
<script src="http://map.google.com/maps?file=api&amp;v=2&amp;sensor=true&amp;key=ABQIAAAAnrLcdIsAekbSRWPABuH2xxRceoMQXzZaPPlfoncwAigryyE5sxT2R_vUmNgehHQnkfHRlG147cf
JAQ" type="text/javascript"></script> 
key值是上面注册的;v=2是表示你使用的Google MAP的版本,我这里使用的GMap2开发。
对于API密钥,还有几点需要记下来:
1、如果使用API的页面还没有发布,只是在本地调试,可以不用密钥,随便用个字符串代替就可以了;
2、API密钥只对网站目录或者域有效,所以,虽然你是使用同一个谷歌帐号登录后注册的密钥,但是,对不同域的网页,需要用这些域分别注册不同的密钥,对 于同一个域里的页面,直接拿你网站的域名注册一个,在这个域里的所有页面就可以通用这个密钥了。

引用:http://apps.hi.baidu.com/share/detail/119881

4、下面提供一个简单例子,需要用到GMap2,GMarker,GLatLng

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("<span style='color:red'>这是定位的位置</span>"); //文字气球形式显示信息窗口
//map.openInfoWindowHtml(latlng,"<span style='color:red'>这是定位的位置</span>"); 上面的文字气球形式也可以这样显示
});

/*
 如果地图点击发生在叠加层上,GMap2“点击”事件会传递 overlay 和 overlaylatlng(GLatLng),
 否则只会传递它传递地图坐标的latlng
*/
GEvent.addListener(map,"click",function(overlay,latlng){
if(latlng){
var str = "<span style='color:blue'>坐标为:"+latlng.lat()+","+latlng.lng()+",</br>缩放级别:"+map.getZoom
()+"</span>";
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)));  

 你也可以根据详细地址在地图上定位到位置(不过貌似有点慢);

//根据地址显示位置
function showAddress(address){
 	var map_canvas = new GMap2(document.getElementById("map_can"),{size:new GSize(500,300)});
 	var geocoder = new GClientGeocoder();
 	geocoder.getLatLng(address,function(point){
 	if(!point){
 		alert("无法解析该地址");
 	}else{
 		map_canvas.setCenter(point,point);
 		var mark = new GMarker(point);
 		map_canvas.addOverlay(mark);
 		mark.openInfoWindowHtml(address);
 		}
 	    });
 	}

 接下来就是简简单单的HTML页面了;

<!-- 在 Google Maps 中,GUnload()可以消除几乎所有的 IE 内存泄漏 -->
  <body onload="initialize();" onunload="GUnload();">
	<div id="map_canvas" style="width:400px;height:300px">
	     正在加载地图中....
	</div>
	查询的地址:<input name="ss" value="" onblur="showAddress(this.value);">
	<div id="map_can"></div>
  </body>
分享到:
评论

相关推荐

    Google Map API 使用示例

    Google Map API 是一款强大的工具...通过学习和实践这些示例,你可以熟练掌握 Google Map API 的基础和高级功能,从而在各种项目中灵活应用。记住,始终要关注 API 的使用限制和最佳实践,以确保服务的稳定性和高效性。

    GoogleMap谷歌地图demo

    在IT行业中,GoogleMap是一个广泛使用的地图服务,它提供了丰富的API接口,允许开发者在其应用...开发者可以通过学习和分析这个demo,掌握如何在自己的项目中有效利用GoogleMap API,提升地图应用的用户体验和功能性。

    google map应用实例

    本应用实例将探讨如何利用Google Map API在离线环境中实现地图服务,这对于那些网络不稳定或者需要在无网络环境下使用的场景尤其有价值。 一、Google Map API简介 Google Map API是Google提供的一套接口,允许...

    vue2googlemap基于Vue2x和google地图组件

    为了优化性能,Vue2googlemap支持延迟加载Google Maps API,只有在组件实际使用时才会请求API。 7. **国际化** 支持设置地图的语言和地区,适应不同用户的需求。 8. **版本兼容性** Vue2googlemap适用于Vue 2.x...

    GoogleMap控件下载

    **GoogleMap控件详解** GoogleMap控件是一个用于集成谷歌地图功能到应用程序中的开源组件,尤其在Web开发中被广泛使用。...开发者只需了解其基本原理和接口,就能在自己的项目中发挥出GoogleMap控件的强大功能。

    Ext Google Map 简易开发框架

    在Ext Google Map框架中,ExtJs负责创建交互式的地图界面和管理用户界面元素。 其次,**Google Maps API**是谷歌提供的一套JavaScript接口,允许开发者在网页上嵌入地图,执行各种地图操作,如定位、导航、标记、...

    C++调用GOOGLEMAP代码

    标题 "C++调用GOOGLEMAP代码" 涉及到的是在C++程序中集成和使用Google Maps API的技术。Google Maps API是一个强大的工具,允许开发者在他们的应用程序中嵌入地图、路线规划、地理编码(地址转经纬度)等功能。在C++...

    googleMap根据经纬度获取地理位置

    首先,`googleMap根据经纬度获取地理位置`这个标题涉及到的核心技术是Google Maps Geocoding服务。Geocoding是将地址或坐标(经纬度)转换为地理坐标的过程,反之亦然。在Google Maps API中,我们可以使用Geocoding ...

    在网页中加载Google Map

    在实际项目中,你可能还需要考虑性能优化,例如延迟加载地图直到需要时,或者使用分块加载大图层以减少网络流量。同时,注意API调用的次数和费用,因为超出一定限制后可能会产生费用。 最后,标签“源码”和“工具...

    google map v2 Demo

    总结来说,"google map v2 Demo"是一个教学示例,展示了如何在Android应用中使用Google Maps API V2来显示地图。通过理解和实践这个Demo,开发者能够掌握Android地图集成的基本步骤,为后续的复杂地图应用开发打下...

    前端项目-jquery.googlemap.zip

    在本前端项目中,"jquery.googlemap.zip" 包含了一个使用 jQuery 插件来集成 Google Maps API 的实例。这个项目旨在简化开发人员在网页上使用 Google Maps 功能的过程,如创建地图、设置标记和规划路线。以下是关于...

    真实好用的javaweb上使用的googlemap的demo

    这个"真实好用的javaweb上使用的googlemap的demo"提供了实现上述功能的示例代码,可以帮助开发者快速理解和应用Google Maps API于JavaWeb项目中。通过学习和实践这个Demo,你可以创建具有地图功能的动态Web应用,...

    GoogleMap开发源码

    通过分析这些文件,我们可以了解Google Maps API的使用方式,以及如何在实际项目中结合后端和前端技术实现地图功能。这不仅有助于提升开发技能,还能帮助解决在开发过程中遇到的问题,如性能优化、地图数据处理等。...

    android google map 应用

    本篇将深入探讨如何在Android应用中使用Google Maps API,以及相关的核心概念和技术。 一、Google Maps API概述 Google Maps API是Google提供的一套服务,允许开发者在自己的应用中嵌入实时的、交互式的Google地图...

    google-map.zip_谷歌地图

    在这个压缩包中的"google map"很可能包含了上述步骤的示例代码,你可以通过查看和运行这些代码来进一步理解和学习如何在Android应用中使用谷歌地图。对于初学者来说,分析和修改这些示例是学习新技能的好方法,同时...

    google map api学习

    首先,你需要在Google Developers Console中注册一个项目,并启用Google Maps JavaScript API,获取API密钥。这个API密钥是连接你的应用和谷歌地图服务的桥梁,确保你的应用能够合法地使用API资源。 谷歌地图API...

    使用google map的API开发的LBS小软

    在IT行业中,Location-Based Services(LBS)是指利用地理位置信息为用户提供服务的一种技术...通过学习和研究这些示例,开发者能够更好地掌握如何在实际项目中集成和定制Google Maps服务,从而提供更丰富的用户体验。

    google map api开发源代码

    Google Map API是一个强大的工具,允许开发者在网页或应用程序中集成地图功能,进行各种定制和交互。这个源代码压缩包提供了一种...源代码中的注释和示例将有助于快速理解各个功能的实现,从而在自己的项目中灵活应用。

    轨迹记录 android google map 应用

    1. **Android SDK集成**:开发者需要在Android Studio项目中配置Google Play Services库,以便使用Google Maps API。 2. **Google Maps API密钥**:在Google Cloud Console中创建项目,启用Google Maps Android API...

Global site tag (gtag.js) - Google Analytics