V3版的Google map,从提供的代码结构而言,更加模块化,链式操作的感觉也不错,关键代表了未来,所以掌握其使用方法自然 重要。
与地图相关的应用开发中,常用的技术是将经纬度录入到后台库中,显示的时候,读出经纬度,通过google提供的js,将你关注的点在地图上画出来。或者可以画出更多的东西,比如线、多边形。
以往基于专业地图系统如mapinfo、esri、中地地图系统等开发应用软件,面临的最大问题是地图信息的更新,基于google map这个云计算平台,一切担忧可以消解。
废话少说,现在举一个简单的例子:当我们点击地图的时候,可以获取经纬度信息,并录入到后台系统中。比如我们将一个照片放在地图的某个点,就需要如此的应用。
js准备,准备好jquery和google的js;
<script type="text/javascript" charset="utf-8" src="/javascripts/jquery1.4.2.min.js"></script>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
html准备;
<form action='/geo/create'>
<div id="map" style="width: 560px;height: 400px;"></div>
<input id="geo-lat" type="hidden"name="latitude" value=""/>
<input id="geo-lng" type="hidden"name="longitude" value=""/>
.....
</form
前面的div是地图的显示位置大小;
客户化的js代码准备:主要解决页面载入干什么、点击地图干什么的问题;
<script type="text/javascript">
//below is map
var map;
var markersArray = [];
var arrInfoWindows = [];
//定义初始化地图,同时定义一些函数,供页面载入之后的事件进行调用。
function mapInit(){
var centerCoord = new google.maps.LatLng(43.83, 87.60);
var mapOptions = {
zoom: 13,
center: centerCoord,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
//map = new google.maps.Map(document.getElementById("map"), mapOptions);
map = new google.maps.Map(document.getElementById("map"), mapOptions);
};
//放置marker
function placeMarker(location) {
var clickedLocation = new google.maps.LatLng(location);
var marker = new google.maps.Marker({
position: location,
map: map
});
markersArray.push(marker);
//这里根据用户操作,将经纬度取出来,并复制到input中。
$("#geo-lat").val(marker.getPosition().lat());
$("#geo-lng").val(marker.getPosition().lng());
};
//清除marker,这个函数需要使用,不然你的鼠标点击之处,都有标记,而你只需要一个。
function clearMarkersBefore() {
if (markersArray) {
for (i in markersArray) {
markersArray[i].setMap(null);
}
markersArray.length = 0;
}
};
//这以下是载入页面要做的事情:初始化,同时在地图上增加一个事件;
$(function(){
//初始化地图
mapInit();
google.maps.event.addListener(map, 'click', function(event) {
clearMarkersBefore();
placeMarker(event.latLng);
});
});
</script>
后面两个是经纬度;
后台准备;
这里可以使用任何后台程序,获取两个hidden input的值,进行后期处理即可。
提示:
1、在实现的过程中,与v2不同的是对点击地图形成多个marker的处理,最终发现这种采用数组的处理方式最好。
2、我的后台是rails,我还是坚持我的观点,rails开发应用在开发的时候,界面方面要减少个性化的东西,比如rjs、比如支持google map ym4r等插件,直接使用javascript(jquery)。
分享到:
相关推荐
根据经纬度转换成详细地址。由于google map v2 已申请不了key 了, 更换成v3, 代码也需要更换成v3代码。2013-10-30上传。
Google Map V3是Google Maps API的一个重要版本,主要针对Web开发,提供了一整套用于在网页中集成地图、定位、路线规划等功能的工具。这个中文教程可以帮助开发者理解和运用V3版本的API,即便在无法访问互联网的情况...
**Google Map V3 API**是谷歌提供的一种用于在网页中集成地图功能的接口,它允许开发者利用JavaScript语言创建交互式的地图应用。这个API是Google Maps API的第三个主要版本,提供了更多的功能、更好的性能以及更...
- 使用`google.maps.Geocoder`类可以将地址转换为经纬度坐标,反之亦然。这对于根据用户输入的地址定位非常有用。 4. **标记(Markers)**: - `google.maps.Marker`用于在地图上添加图标或文本。你可以自定义...
综上所述,"Google Map v3 官方实例"中的内容涵盖了地图集成、交互设计、地理信息处理等多个方面,对于任何希望在网站或应用中集成地图功能的开发者而言,都是极其宝贵的参考资料。通过学习和实践这些实例,开发者...
在Google Maps API V3中,我们可以实现的功能包括但不限于:定位、路线规划、地理编码、标记、信息窗口、覆盖物、图层控制、事件监听等。 首先,让我们了解一下基础的集成步骤。要在网页中嵌入Google Maps,你需要...
在这个案例中,我们将探讨如何使用PHP和MySQL数据库与谷歌地图V3 API进行动态交互,实现用户点击地图后添加标记,并将这些标记信息存储到数据库中。 首先,我们需要创建一个数据库和数据表来存储地图上的标记信息。...
3. **标记(Marker)**:要在地图上添加点标记,可以使用`new google.maps.Marker()`创建一个标记对象,设置其位置、图标、信息窗口等内容。标记可以通过事件监听器实现交互,如点击弹出信息窗口。 4. **信息窗口...
此外,Google Maps API V3也支持使用KML或GeoJSON格式的数据来展示地理信息,以及通过Geocoding服务获取地址的经纬度等。通过不断学习和实践,开发者可以充分利用这个强大工具,创建出丰富的地图应用。
在“chapter10”中,可能会介绍如何利用Google Maps API V3实现地理编码,即将地址转化为经纬度坐标,以及反向地理编码,即从坐标点获取地址信息。这一章还可能涉及如何在地图上添加自定义标记(markers)和信息窗口...
1. **地图初始化**:在使用Google Maps V3时,首先要做的就是加载地图。这通常通过创建一个新的`google.maps.Map`对象完成,需要指定一个HTML元素作为地图的容器,并设置地图的中心点、缩放级别等参数。 2. **地理...
最新版的Google Map API是V3,它是一个基于JavaScript的API,具有高度可定制性和灵活性。 在Google Map API V3中,开发者可以实现以下主要功能: 1. **地图嵌入**:通过简单的HTML和JavaScript代码,可以在网页上...
【标题】"无密钥google map 第三代"指的是在不使用特定API密钥的情况下,采用Google Maps API的第三代版本进行地图应用开发的技术。通常,Google Maps API需要开发者注册并获取API密钥,以便追踪和限制使用量,但...
这个名为"GoogleMapAPIV3.rar"的压缩包文件很可能是包含了使用API开发的示例代码、文档或者工具,帮助开发者在没有网络连接的情况下也能学习和预览Google Map API V3的功能。尽管"aaa"标签没有提供太多具体信息,但...
通过以上案例,我们可以看到谷歌地图v3 API的使用非常直观。它不仅简化了开发流程,还提供了丰富的自定义选项,方便开发者根据需求定制地图。与v2版本相比,v3版本在功能和性能方面都有显著提升,是当前进行地图应用...
Geocoder 是 Google Maps API V3 中的一种组件,用于将地址转换为经纬度坐标。开发者可以使用 GeocoderRequest 对象来配置地理编码请求的基本属性,如地址、语言、区域等。 DirectionsRenderer DirectionsRenderer...
在这个场景下,我们将探讨如何使用百度和Google的API来实现批量的经纬度到地址的转换。 首先,让我们了解一下经纬度。在地球表面,我们用经度和纬度来精确定位位置。经度是从本初子午线(通过英国格林尼治的线)...
### Google Maps API V3 开发必备知识点 #### 一、概览 Google Maps API V3 是一个强大的工具,允许开发者将交互式的谷歌地图嵌入到网页应用中。它提供了丰富的功能,包括自定义地图样式、添加标记、路线规划等。...
### 谷歌Maps API V3 知识点解析 #### 一、概述 Google Maps JavaScript API V3 是一个强大的工具包,允许开发者在网页上嵌入交互式地图。此版本相比之前的版本提供了更多的功能和更好的性能。通过API,用户能够...
除了这些基本操作,Google Maps API V3还提供了丰富的功能,如添加标记、信息窗口、覆盖物、路径、事件监听等。例如,你可以通过`google.maps.Marker`类添加标记,通过`google.maps.InfoWindow`创建弹出窗口,显示...