google map javascript api v3 例子

之前一直用百度map,但如果是国外的项目就需要用google地图。由于在国内屏蔽了google地图的服务,因此调用的是一个国内地址(开发用)。这个地址没有用key,语言设置也还是中文的。

备注:网上很多国内的例子还是用v2的接口,差异还是很大的,v3的接口感觉更加接近js的风格,很多参数都直接是json。

例子中实现了google几个核心类的主要功能,包括:

1、在初始化时,定位到正向解析地址,这里是定位到自由女神像;

2、在地图中间位置初始化一个可拖拽的图标,绑定拖拽结束时间,结束后通过地址逆解析,弹出一个信息提示框;

3、在地图上绑定鼠标右击事件,每个右击事件新增一个图标;

4、在地图上绑定鼠标双击事件,双击后地图移动到初始位置(中间);

代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript" src="jquery-1.7.2.min.js"></script>
    <script type="text/javascript" src="https://ditu.gdgdocs.org/maps/api/js?v=3.exp&sensor=false"></script>
    <script type="text/javascript">
        $(function() {
            initialize();
        });

        var map = null;

        function initialize() {

            var geocoder = new google.maps.Geocoder();

            //地址正向解析
            geocoder.geocode({
                ‘address‘: ‘Liberty Island, 10004 New York Harbor‘
            }, function(results, status) {
                if (status == google.maps.GeocoderStatus.OK) {
                    var myOptions = {
                        zoom: 12,
                        center: results[0].geometry.location,
                        mapTypeId: google.maps.MapTypeId.ROADMAP,
                    };

                    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

                    //定义标示
                    var marker = new google.maps.Marker({
                        map: map,
                        position: results[0].geometry.location,
                        title: ‘location‘,
                        draggable: true
                    });
                    marker.setMap(map);

                    google.maps.event.addListener(marker, "dragend", function(event) {
                        //逆地址解析
                        geocoder.geocode({
                            ‘location‘: event.latLng
                        }, function(results, status) {
                            if (status == google.maps.GeocoderStatus.OK) {
                                var html = ‘<div>‘ + results[0].formatted_address + ‘</div>‘;

                                var infowindow = new google.maps.InfoWindow({
                                    content: html
                                });
                                infowindow.open(map, marker);
                            }
                        });

                        //单击后在地图上增加一个标示
                        google.maps.event.addListener(map, ‘click‘, function(event) {
                            var marker1 = new google.maps.Marker({
                                map: map,
                                position: event.latLng
                            });
                            marker1.setMap(map);
                        });

                        //添加双击事件,返回地图中央
                        google.maps.event.addListener(map, "dblclick", function(evvent) {
                            var center = map.getCenter();
                            var lat = center.lat();
                            var lng = center.lng();
                            var latlng = new google.maps.LatLng(lat, lng);
                            map.setCenter(latlng);

                        })
                    });
                }
            });
        }

    </script>
</head>
<body>
    <div style="width: 100%; float: left;">
        <div style="width: 100%; height: 660px; border: 1px solid #C0C0C0;" id="map_canvas">
        </div>
    </div>
</body>
</html>
时间: 2024-10-20 18:13:50

google map javascript api v3 例子的相关文章

MBTiles 离线地图演示 - 基于 Google Maps JavaScript API v3 + SQLite

MBTiles 是一种地图瓦片存储的数据规范,它使用SQLite数据库,可大大提高海量地图瓦片的读取速度,比通过瓦片文件方式的读取要快很多,适用于Android.IPhone等智能手机的离线地图存储.详情请参考:MBTiles移动存储简介.       在WEB地图介绍中我们看到,瓦片是参照了他们的z/x/y 形式坐标,在磁盘存储上,他们通常存储在以z.x为名字上的目录中,这样就有一个瓦片文件路径是0/0/0.png. 同样用谷歌或百度地图JS API很方便调用.但是有个缺点就是文件多了,暂用磁

谷歌地图,国内使用Google Maps JavaScript API,国外业务

目前还是得墙 <!DOCTYPE html> <html> <head> <meta name="viewport" content="initial-scale=1.0, user-scalable=no"> <meta charset="utf-8"> <title>Simple markers</title> <style> html, body

Google Map API V3开发(5)

11 库 ?  AdSense Library ?  绘图库 ?  几何图形库 ?  Panoramio 图层(库) ?  地方信息库 ?  天气和云况图层(库) 几何图形库 Google Maps JavaScript API V3 几何图形库提供了一些实用程序函数,以便计算地球表面的几何数据.该库包含以下三个命名空间: spherical,其中包含球面几何图形实用程序,可用于通过纬度和经度计算角度.距离和面积. encoding,其中包含一些实用程序,可用于根据编码折线算法对折线路径进行编码

Google Map API V3开发(2)

3 Google Map API 简介 Google 地图 API 免费提供给用户并且适用于所有网站.Google 地图 API 使您能够使用 JavaScript 将 Google地图嵌入自己的网页中.API 提供了大量实用工具用以处理地图(正如 http://ditu.google.com 网页上的地图),并通过各种服务向地图添加内容,从而使您能够在您的网站上创建功能强大的地图应用程序. 4 帮助资源 ?Google Maps JavaScript API v3 ?中文页面:https://

房产地图google map的初步应用点滴.2)(转)

房产地图google map的初步应用点滴.1)房产地图google map的初步应用点滴.2)房产地图google map的初步应用点滴.3) 房产地图google map的初步应用点滴.4) 本来是想将房产地图google map的应用记录一个系列,但继1)记录完之后总找不到时间继续记录下去,1)中主要解决了Google Maps JavaScript API V3 与 Google Local Search API两者由于版本问题带来的一系列麻烦,思路是使用一个iframe作为兼容的跳板,

房产地图google map的初步应用点滴.1)(转)

房产地图google map的初步应用点滴.1)房产地图google map的初步应用点滴.2)房产地图google map的初步应用点滴.3) 房产地图google map的初步应用点滴.4) 以前的房产地图一直都是使用有道地图,虽然有道地图是很好,但是为了更好,还是决定使用google地图来重新开发^_^,下面是一个开发完毕的简单应用http://xf.house.163.com/gz/map/000B.html 1)整合Google Maps JavaScript API V3 与 Goo

Google Map API V3开发(3)

6 Google Maps 事件 每个 Maps API 对象均可导出大量已命名的事件.如果程序想要实现某些事件,则会为这些事件注册 Javascript 事件监听器,并在 google.maps.event 命名空间中注册addListener() 事件处理程序,以便在接收这些事件后执行相应代码. google.maps.Marker 对象可以监听一些用户事件,例如: 'click' 'dblclick' 'mouseup' 'mousedown' 'mouseover' 'mouseout‘

Google 地图 API V3 使用入门

鉴于google被屏蔽,复制过来,供参考. Hello, World 要开始了解 Google Maps API,最简单的方法就是查看简单的示例.以下网页显示了一张以澳大利亚新南威尔士的悉尼为中心的地图: <!DOCTYPE html> <html> <head> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <sty

Google 地图 API V3 之事件

概述 浏览器中的 JavaScript 是由事件驱动的,这表示 JavaScript 会通过生成事件来响应交互,并期望程序监听感兴趣的事件.Google Maps API V3 的事件模型与 Google Maps API V2 中所使用的事件模型尽管在内在机制上有很大的不同,但两者是十分相似的.有两种类型的事件: 用户事件(如“点击”鼠标事件)是从 DOM 传播到 Google Maps API 中的.这些事件是独立的,并且与标准 DOM 事件不同. MVC 状态更改通知反映了 Maps AP