博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Google Map API V3开发(4)
阅读量:6532 次
发布时间:2019-06-24

本文共 2956 字,大约阅读时间需要 9 分钟。

 

图层

Maps API 包含以下几种图层:

 对象,用于在 Maps API V3 图块叠加层中呈现 KML 和 GeoRSS 元素。

 对象,使用热图可视化技术来呈现地理数据。

 对象,用于呈现 Google  中包含的数据。

 对象,用于呈现描述路况情况的图层和表示路况的叠加层。

 对象,用于在地图上显示您所在城市的公交网络。

 对象,可让您向地图添加天气预报和云图。

 对象,用于在公共图层中呈现自行车道的图层和/或自行车专用叠加层。默认情况下,在请求出行模式 BICYCLING 的路线时,系统会在DirectionsRenderer 中返回该图层。

 对象,用于添加  中的照片作为图层。

例:

var weatherLayer = new google.maps.weather.WeatherLayer({

  temperatureUnits: google.maps.weather.TemperatureUnit.FAHRENHEIT
});
weatherLayer.setMap(map);

10 服务

?  路线服务

?  距离矩阵服务

?  海拔服务

?  地理编码服务

?  最大缩放图像服务

?  街景视图服务

路线服务

您可以使用 DirectionsService 对象计算路线(使用各种交通方式)。此对象与 Google Maps API 路线服务进行通信,该服务会接收路线请求并返回计算的结果。您可以自行处理这些路线结果,也可以使用 DirectionsRenderer 对象呈现这些结果。

您可以通过文本字符串(例如,“伊利诺斯州芝加哥市”或“澳大利亚新南威尔士州达尔文市”)或 LatLng 值的形式来指定路线的起点和终点。路线服务可以使用一系列路标返回多段路线。路线可以显示为一条在地图上绘制路线的折线,此外,也可以显示为 <div> 元素中的一些文字说明(例如,“右转上中山南路”)。

距离矩阵服务

Google 的距离矩阵服务会使用给定的出行方式来计算多个起点和终点之间的行程距离和持续时间。

var origin1 = new google.maps.LatLng(55.930385, -3.118425);

var origin2 = "Greenwich, England";
var destinationA = "Stockholm, Sweden";
var destinationB = new google.maps.LatLng(50.087692, 14.421150);
var service = new google.maps.DistanceMatrixService();
service.getDistanceMatrix(
  {
    origins: [origin1, origin2],
    destinations: [destinationA, destinationB],
    travelMode: google.maps.TravelMode.DRIVING,
    avoidHighways: false,
    avoidTolls: false
  }, callback);
function callback(response, status) {
  // See  for the basics of a callback function.
}

海拔服务

海拔服务提供了地球表面位置的海拔数据,包含海底深处位置(返回负值)。在这些情况下,Google 无法提供您请求的确切位置的精确海拔测量值,该服务将插入并返回四个最近位置的平均值。

function getElevation(event) {

  var locations = [];
  var clickedLocation = event.latLng;
  locations.push(clickedLocation);
  var positionalRequest = {
    'locations': locations
  }
  // Initiate the location request
  elevator.getElevationForLocations(positionalRequest, function(results, status) {
    if (status == google.maps.ElevationStatus.OK) {
      // Retrieve the first result
      if (results[0]) {

           //do something

      } else {
        alert("No results found");
      }
    } else {
      alert("Elevation service failed due to: " + status);
    }
  });
}

地理编码服务

地理编码是将地址(如“1600 Amphitheatre Parkway, Mountain View, CA”)转换为地理坐标(如纬度 37.423021 和经度 -122.083739)的过程,您可以根据该地理坐标放置标记或定位地图。

与此相反,将地图上的位置转换成易于理解的地址这一过程则称为“反向地理编码”。

最大缩放图像服务

Google Maps API 为地图类型图像提供了多种不同的地图图块。大部分道路地图图像的缩放级别为 0 到 18(举例而言)。卫星图像的缩放级别更广,因为此类图像不是系统生成的,而是直接拍摄的。

在一些偏远地区(人口稀少的区域或公海区域)卫星图像并不能始终提供较高的缩放级别,因此您需要事先了解指定位置的图像的最高缩放级别。MaxZoomService 对象提供了一个简单的界面,供您查看 Google 地图为其提供卫星图像的给定位置的最大缩放级别。

function showMaxZoom(e) {

  maxZoomService.getMaxZoomAtLatLng(e.latLng, function(response) {
    if (response.status != google.maps.MaxZoomStatus.OK) {
      alert("Error in MaxZoomService");
      return;
    } else {
      alert("The maximum zoom at this location is: " + response.zoom);
    }
    map.setCenter(e.latLng);
  });
}

街景视图服务

Google 街景视图提供了从指定道路对整个覆盖范围的 360 度全景视角。

var panoramaOptions = {

  position: fenway,
  pov: {
    heading: 34, 
    pitch: 10,
    zoom: 1
  }
};
var panorama = new  google.maps.StreetViewPanorama(document.getElementById("pano"), panoramaOptions);
map.setStreetView(panorama);

转载地址:http://dlqbo.baihongyu.com/

你可能感兴趣的文章
执行可运行jar包时读取jar包中的文件
查看>>
linux下ExtMail邮件使用及管理平台
查看>>
linux中iptables设置自建dns服务器的端口
查看>>
基于Yum安装zabbix3.0
查看>>
Master-work模式
查看>>
RT-Thread--时间管理
查看>>
BUPT 63T 高才生 找最佳基站
查看>>
linux 学习(二)防火墙
查看>>
scala001
查看>>
android - SpannableString或SpannableStringBuilder以及string.xml文件中的整型和string型代替...
查看>>
自己选择的路,跪着走完吧——一个兔纸的话
查看>>
三端稳压器各个参数解释
查看>>
算法(Algorithms)第4版 练习 1.3.14
查看>>
virtual PC 打造IE6、IE7、IE8、IE9等多版本共存原版测试环境
查看>>
js面向对象1
查看>>
内部类
查看>>
高速数论变换(NTT)
查看>>
Springmvc的跳转方式
查看>>
加密原理介绍,代码实现DES、AES、RSA、Base64、MD5
查看>>
LINUX中常用操作命令
查看>>