`
s8186255
  • 浏览: 87767 次
  • 性别: Icon_minigender_1
  • 来自: 新疆乌鲁木齐
社区版块
存档分类
最新评论

使用google map v3添加经纬度信息

阅读更多

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

0
0
分享到:
评论

相关推荐

    google map v3 经纬度转换成详细地址

    根据经纬度转换成详细地址。由于google map v2 已申请不了key 了, 更换成v3, 代码也需要更换成v3代码。2013-10-30上传。

    GoogleMap V3 中文 教程

    Google Map V3是Google Maps API的一个重要版本,主要针对Web开发,提供了一整套用于在网页中集成地图、定位、路线规划等功能的工具。这个中文教程可以帮助开发者理解和运用V3版本的API,即便在无法访问互联网的情况...

    Google Map V3 API

    **Google Map V3 API**是谷歌提供的一种用于在网页中集成地图功能的接口,它允许开发者利用JavaScript语言创建交互式的地图应用。这个API是Google Maps API的第三个主要版本,提供了更多的功能、更好的性能以及更...

    googleMap V3 中文API

    - 使用`google.maps.Geocoder`类可以将地址转换为经纬度坐标,反之亦然。这对于根据用户输入的地址定位非常有用。 4. **标记(Markers)**: - `google.maps.Marker`用于在地图上添加图标或文本。你可以自定义...

    Google Map v3 官方实例

    综上所述,"Google Map v3 官方实例"中的内容涵盖了地图集成、交互设计、地理信息处理等多个方面,对于任何希望在网站或应用中集成地图功能的开发者而言,都是极其宝贵的参考资料。通过学习和实践这些实例,开发者...

    Google_Maps_API_V3.rar_Google Maps api v3_谷歌地图

    在Google Maps API V3中,我们可以实现的功能包括但不限于:定位、路线规划、地理编码、标记、信息窗口、覆盖物、图层控制、事件监听等。 首先,让我们了解一下基础的集成步骤。要在网页中嵌入Google Maps,你需要...

    google map v3 demo 数据库动态案例 php的

    在这个案例中,我们将探讨如何使用PHP和MySQL数据库与谷歌地图V3 API进行动态交互,实现用户点击地图后添加标记,并将这些标记信息存储到数据库中。 首先,我们需要创建一个数据库和数据表来存储地图上的标记信息。...

    google map jsv3 示例

    3. **标记(Marker)**:要在地图上添加点标记,可以使用`new google.maps.Marker()`创建一个标记对象,设置其位置、图标、信息窗口等内容。标记可以通过事件监听器实现交互,如点击弹出信息窗口。 4. **信息窗口...

    经典教程:JavaScript调用Google Map API V3

    此外,Google Maps API V3也支持使用KML或GeoJSON格式的数据来展示地理信息,以及通过Geocoding服务获取地址的经纬度等。通过不断学习和实践,开发者可以充分利用这个强大工具,创建出丰富的地图应用。

    googlemap js v3 gmap

    在“chapter10”中,可能会介绍如何利用Google Maps API V3实现地理编码,即将地址转化为经纬度坐标,以及反向地理编码,即从坐标点获取地址信息。这一章还可能涉及如何在地图上添加自定义标记(markers)和信息窗口...

    google api v3 实例

    1. **地图初始化**:在使用Google Maps V3时,首先要做的就是加载地图。这通常通过创建一个新的`google.maps.Map`对象完成,需要指定一个HTML元素作为地图的容器,并设置地图的中心点、缩放级别等参数。 2. **地理...

    Google Map Api

    最新版的Google Map API是V3,它是一个基于JavaScript的API,具有高度可定制性和灵活性。 在Google Map API V3中,开发者可以实现以下主要功能: 1. **地图嵌入**:通过简单的HTML和JavaScript代码,可以在网页上...

    无密钥google map 第三代

    【标题】"无密钥google map 第三代"指的是在不使用特定API密钥的情况下,采用Google Maps API的第三代版本进行地图应用开发的技术。通常,Google Maps API需要开发者注册并获取API密钥,以便追踪和限制使用量,但...

    GoogleMapAPIV3.rar

    这个名为"GoogleMapAPIV3.rar"的压缩包文件很可能是包含了使用API开发的示例代码、文档或者工具,帮助开发者在没有网络连接的情况下也能学习和预览Google Map API V3的功能。尽管"aaa"标签没有提供太多具体信息,但...

    谷歌地图v3案例

    通过以上案例,我们可以看到谷歌地图v3 API的使用非常直观。它不仅简化了开发流程,还提供了丰富的自定义选项,方便开发者根据需求定制地图。与v2版本相比,v3版本在功能和性能方面都有显著提升,是当前进行地图应用...

    Google Maps API V3 中文参考文档(JavaScript)

    Geocoder 是 Google Maps API V3 中的一种组件,用于将地址转换为经纬度坐标。开发者可以使用 GeocoderRequest 对象来配置地理编码请求的基本属性,如地址、语言、区域等。 DirectionsRenderer DirectionsRenderer...

    经纬度转换成地址

    在这个场景下,我们将探讨如何使用百度和Google的API来实现批量的经纬度到地址的转换。 首先,让我们了解一下经纬度。在地球表面,我们用经度和纬度来精确定位位置。经度是从本初子午线(通过英国格林尼治的线)...

    Google Maps API V3 (开发必备)

    ### Google Maps API V3 开发必备知识点 #### 一、概览 Google Maps API V3 是一个强大的工具,允许开发者将交互式的谷歌地图嵌入到网页应用中。它提供了丰富的功能,包括自定义地图样式、添加标记、路线规划等。...

    谷歌MAP API_V3.pdf

    ### 谷歌Maps API V3 知识点解析 #### 一、概述 Google Maps JavaScript API V3 是一个强大的工具包,允许开发者在网页上嵌入交互式地图。此版本相比之前的版本提供了更多的功能和更好的性能。通过API,用户能够...

    Goole map api js v3中文版

    除了这些基本操作,Google Maps API V3还提供了丰富的功能,如添加标记、信息窗口、覆盖物、路径、事件监听等。例如,你可以通过`google.maps.Marker`类添加标记,通过`google.maps.InfoWindow`创建弹出窗口,显示...

Global site tag (gtag.js) - Google Analytics