`
dicmo
  • 浏览: 68339 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

google map v3 GIS功能总结

阅读更多






在CRM系统中嵌入了地图功能。只要是显示选择客户地址的大约5公里左右的所有客户地址信息,把它标记到地图上。首先是在保存客户信息的时候,就把客户的经纬度保存下来,存入本地数据库,判断距离就靠操作经纬度来完成。肯定是不准确的,只能是个估算直线距离。
首先连接到google,与v2版本不同的是,不需要KEY了,直接使用,方便许多。而且API中封装的对象也比v2版本好用,方便和直接。
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>

创建地图:
var myOptions = {
    zoom: 13, //初始地图放大等级
    mapTypeId: google.maps.MapTypeId.ROADMAP //需要指定地图类型
};
//map元素对应一个div:<div id="map" style="width: 100%; height: 100%"></div>
var map = new google.maps.Map(document.getElementById("map"),myOptions);

1.获取某个地址的经纬度(中文地址):
var companyAddress  = af.form.findField("address").getValue();
var geocoder = new google.maps.Geocoder();
//companyAddress 要请求的地址
geocoder.geocode({'address': companyAddress},function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
    map_x = results[0].geometry.location.lat();   //经度  	
    map_y = results[0].geometry.location.lng();   //纬度

2.把经纬度存存储起来。
3.在地图上显示一个标记:
//定义地图标记图片
var image = new google.maps.MarkerImage('http://code.google.com/intl/zh-CN/apis/maps/documentation/javascript/examples/images/beachflag.png',
new google.maps.Size(20, 32),new google.maps.Point(0,0),new google.maps.Point(0, 32));
//定义图标在地图上的投影
var shadow = new google.maps.MarkerImage('http://code.google.com/intl/zh-CN/apis/maps/documentation/javascript/examples/images/beachflag_shadow.png',
new google.maps.Size(37, 32),new google.maps.Point(0,0),new google.maps.Point(0, 32));
//定义图标大小
var shape = {
    coord: [1, 1, 1, 20, 18, 20, 18 , 1],
    type: 'poly'
};	
var myMarker = new google.maps.Marker({
    map: map,        	  		
    position: results[0].geometry.location,
    shadow: shadow,
    icon: image,
    shape: shape,
    title: myName //title 是鼠标点击到图标上显示的内容
});
var contentString = "公司名称:"+myName+"<br>公司地址:"+myAddress ;
//定义信息框
var infowindow = new google.maps.InfoWindow({
content: contentString
});
//弹出信息框事件
google.maps.event.addListener(myMarker, 'click', function() {
    infowindow.open(map,myMarker);
});

然后JAVA代码处理,判断在范围内的经纬度,再把地址,经纬度传递给前台显示。
这里知道了经纬度,就可以直接使用marker,把他们全部标记出来就可以了。
之前是请求地址,但是会出现OVER_QUERY_LIMIT:就是在短时间请求过多。
直接使用经纬度标记,就可以标记很多和地址,而且速度也很快。

  • 大小: 51 KB
  • 大小: 114.1 KB
  • 大小: 15.3 KB
5
3
分享到:
评论

相关推荐

    google map gis

    Google Maps API V3是这个接口的最新版本,提供了丰富的功能和灵活性,适用于各种地理信息系统(GIS)应用。 **实验目标** 1. **理解接口使用方法**:学习如何调用和配置谷歌地图API,以实现自定义的地图功能。 2. ...

    GoogleMaps API V3离线下载工具及使用.zip

    4. **mapapi.js**:这可能是包含离线地图功能的JavaScript库,它封装了与Google Maps API V3相关的离线操作,比如加载本地地图数据、处理地图瓦片等。 5. **说明.txt**:这是工具的使用指南,会详细解释如何使用...

    获取地图坐标与街道地址

    本文将深入探讨如何使用Google Maps API V3实现从地图坐标到街道地址的转换,也就是所谓的“反向地理编码”(Reverse Geocoding)。这个过程对于提供基于位置的服务至关重要,例如导航、本地搜索和定位跟踪。 ...

    gmaps-agsjs-amd-v3

    gmaps-agsjs-amd-v3 一个示例,显示如何将gmaps-utility-gis库与ESRI的ArcGIS Java API API v3一起使用,以将Google Maps用作ArcGIS Java Map Viewer的底图。

    ArcGIS for Server 10.1常见问题解答

    尽管如此,Esri 更倾向于鼓励用户使用其自家的 Web Mapping APIs,因为它们提供了更深入的功能集成和更广泛的 GIS 功能。然而,对于那些希望集成 Google Maps 的项目,Esri 的技术仍然可以与 Google Maps API v3 ...

    delphi-maps:带有示例应用程序的 Delphi Mapping 组件

    谷歌地图 API (v3) Openstreetmap 静态地图 地理编码 API 路线 API 街景 更新 1 此项目已弃用,不再更新。 它是在无法在 Delphi 应用程序中嵌入 Google Maps 相关 API 的免费和开源库时创建的。 与此同时,我...

    图新地球(LSV)系列教程——DEM介绍及应用

    * ASTER_GDEM_V3:发布单位为 NASA 和 METI,发布时间为 2019 年,坐标系为 WGS84,数据分辨率为 1″(约 30m),覆盖情况为全球陆地 99%。 * ALOS:发布单位为 JAXA,发布时间为 2015 年,坐标系为 WGS84,数据...

    Earthenterprise:Google地球企业版-开源

    客户端-用于分别查看3D地球和2D地图的Google Earth Enterprise Client(EC)和Google Maps Javascript API V3。发布更多信息建造Earth Enterprise Fusion&Server当前在以下操作系统的64位版本上运行: CentOS的6 ...

    经纬度转换成地址

    http://api.map.baidu.com/geocoding/v3/?location=经度,纬度&output=json&ak=你的API密钥 ``` 其中,“location”参数是经纬度坐标,"output"参数指定返回的数据格式,"ak"则是你的API密钥。响应数据会包含地址的...

    通过经纬度获取城市名

    在IT行业中,地理信息系统(GIS)是一个至关重要的领域,它涉及到地理位置数据的处理与分析。在Web服务中,我们经常需要根据经纬度坐标来获取对应的城市名称,这在地图应用、定位服务、天气预报等场景中非常常见。...

Global site tag (gtag.js) - Google Analytics