首页 > 其他分享 >google地图常用方法

google地图常用方法

时间:2023-04-30 20:08:18浏览次数:40  
标签:function map 常用 google 地图 maps var new


google map api v3

1.计算两点间距离

加载geometry库
复制代码 代码如下:

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false&libraries=geometry"></script>

计算距离
复制代码 代码如下:

var meters=google.maps.geometry.spherical.computeDistanceBetween(latLngA, latLngB);
document.getElementById("distance").innerText = meters+"米";


说明:单位是米

 

2.地图的缩放事件监听

google.maps.event.addListener(map, 'zoom_changed',function() {
            if (map.getZoom() < MinZoomLevel) map.setZoom(MinZoomLevel);
 });

3.google地图禁止鼠标滚轮缩放

scrollwheel: false

初始化:

var map = new google.maps.Map(document.getElementById("map"), {
                zoom: 15, //放大比例
                center: new google.maps.LatLng(31.3, 120.6), //经纬度
                mapTypeId: google.maps.MapTypeId.ROADMAP, //地图类型ROADMAP、SATELLITE、

HYBRID
                panControl: false, //方向盘
                scaleControl: false, //比例尺
                mapTypeControl: false, //可以选的地图类型,下面是配置
                //mapTypeControlOptions: {style: 

google.maps.MapTypeControlStyle.DROPDOWN_MENU},
                streetViewControl:false,//街头小人
                zoomControl: true, //放大按钮,下面是配置
                zoomControlOptions: {
                    style: google.maps.ZoomControlStyle.SMALL//LARGE
                    //position: google.maps.ControlPosition.LEFT_CENTER
                }
            });

 

4.Google Map的比例尺与Zoom级别的关系:

简单罗列一下, 做个记录:
其中Zoom=5,6以及Zoom=15,16时, 比例尺是相同的, 分别是1:200km, 1:200m;
但是,在Map窗口里面的表现还是稍有不同的, 那就是刻度的长度上有变化。

Zoom    Scale
0    10000km
1    5000
2    2000
3    1000
4    500
5    200
6    200
7    100
8    50
9    20
10  10
11   5
12   2
13   1km
14   500m
15   200
16   200
17   100
18   50
19   20
20   10
21   5
22   2
23   1
24   1
25   1
26   1

5.反向地址解析:

//实例化地址解析器 
 var   geoCoder = new google.maps.Geocoder();function GetGeoLocation() { 
         if (navigator.geolocation) { 
             navigator.geolocation.getCurrentPosition(function(position) { 
                 var pos = new google.maps.LatLng(position.coords.latitude, position.coords.longitude); 
                 console.log(position); 
                 geoCoder.geocode({ 
                     'latLng': pos 
                 }, 
                 function(results, state) { 
                     if (state = google.maps.GeocoderStatus.OK) { 
                         if (results[0]) { 
                             var point = results[0].geometry.location; 
formatted_address; 
                             if (marker) { 
                                 marker.setMap(null); 
                             } 
                             marker = new google.maps.Marker({ 
                                 map: map, 
                                 position: point 
                             }); 
                             var infowindow = new google.maps.InfoWindow({ 
                                 content: '<h3>我在这里</h3>' + myDirection 
                             }); 
                             google.maps.event.addListener(marker, 'click', 
                             function() { 
                                 infowindow.open(map, marker); 
                             }); 
                             map.setCenter(point); 
                             $("#txt_address").val(myDirection.split(' ')[0]); 
  
                         } 
                     } 
                 }) 
             }, 
             function() { 
                 handleNoGeolocation(true); 
             }, 
             { 
                 'enableHighAccuracy': true, 
                 'timeout': 10000, 
                 'maximumAge': 0 
             }); 
         } else { 
             // 浏览器不支持Geolocation 
             handleNoGeolocation(false); 
         } 
     }

标签:function,map,常用,google,地图,maps,var,new
From: https://blog.51cto.com/u_4427045/6238081

相关文章

  • 百度地图常用方法
    varmap=newBMap.Map("container");//创建地图实例map.addControl(newBMap.NavigationControl());//地图控制插件,该插件可以控制地图的位置地图的显示比例map.addControl(newBMap.ScaleControl());//显示在地图下方,告诉你地图上1cm对应的真实距离//map.addContr......
  • 【路径规划-机器人栅格地图】基于遗传算法求解光伏实验室小车路径规划附matlab代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • Docker的一些常用命令
    Docker是一种容器化技术,需要使用许多命令来管理和操作容器。下面是对一些常用的Docker命令和它们的含义的解释:-v:用来将文件或者目录挂载到Docker容器中,使其可以在Docker容器内部进行访问。格式为-v/host/path:/container/path,其中/host/path是本地主机的文件路径,/conta......
  • 英文简历中的常用语
    Mature,dynamicandhonest.思想成熟、精明能干、为人诚实。Excellentabilityofsystematicalmanagement.有极强的系统管理能力。Abilitytoworkindependent1y,matureandresourcefu1.能够独立工作、思想成熟、应变能力强。Apersonwithabilityplusflexibilityshouldapp1......
  • 常用的正则表达式
    开发过程中中常用正则式身份证弱校验:15位或18位,最后一位为校验位可能为数字或字符X(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)手机号^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$ipv4地址((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.......
  • Raid卡常用命令
    1.创建删除raid#点3槽位灯:/opt/MegaRAID/MegaCli/MegaCli64-PDLocate-start-physdrv[32:3]-a0关3槽位灯:/opt/MegaRAID/MegaCli/MegaCli64-PDLocate-stop-physdrv[32:3]-a0#删除raid/opt/MegaRAID/MegaCli/MegaCli64-CfgLdDel-L1-A0L1:1为RIAD组TargetId号......
  • iOS百度地图 定位的实现
    今天发现自己好笨啊。。。一直在搞定位,想为什么会是空的,原来定位也是需要代理去实现的在初始化地图的时候,也就是在viewDidload里面是这样的mapView.showsUserLocation=YES;if(mapView.userLocation.location!=nil){NSLog(@"定位成功");coor=......
  • 线程常用方法join 和threadLocal
     从源码中可以得知,如果想要join方法正常生效,调用join方法的线程对象必须已经调用了start()方法并且未进入终止状态。扩展:从join方法的源码来看,join方法的本质调用的是Object中的wait方法实现线程的阻塞,wait方法的实现原理在后续的文章中在说详细阐述。**但是我们需要知道的是......
  • docker一些常用命令
    dockerversion:查看Docker版本信息。该命令可以查看当前安装的Docker版本信息,包括Docker引擎、客户端、API等版本。dockerinfo:查看Docker的详细信息。该命令可以查看Docker的详细信息,包括容器、镜像、网络等。dockersearch:搜索DockerHub上的镜像。该命令可以在DockerHub上搜......
  • MySQL常用数据库语句
    ==数据库==1、创建数据库createdatabase[IFNOTEXISTS]数据库名;2、删除数据库dropdatabase[IFEXISTS]数据库名;3、切换数据库selectdatabase();4、查询数据库showdatabases;————————————————————————————==数据表==1、创建数据表crea......