在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
分享到:
相关推荐
Google Maps API V3是这个接口的最新版本,提供了丰富的功能和灵活性,适用于各种地理信息系统(GIS)应用。 **实验目标** 1. **理解接口使用方法**:学习如何调用和配置谷歌地图API,以实现自定义的地图功能。 2. ...
4. **mapapi.js**:这可能是包含离线地图功能的JavaScript库,它封装了与Google Maps API V3相关的离线操作,比如加载本地地图数据、处理地图瓦片等。 5. **说明.txt**:这是工具的使用指南,会详细解释如何使用...
本文将深入探讨如何使用Google Maps API V3实现从地图坐标到街道地址的转换,也就是所谓的“反向地理编码”(Reverse Geocoding)。这个过程对于提供基于位置的服务至关重要,例如导航、本地搜索和定位跟踪。 ...
gmaps-agsjs-amd-v3 一个示例,显示如何将gmaps-utility-gis库与ESRI的ArcGIS Java API API v3一起使用,以将Google Maps用作ArcGIS Java Map Viewer的底图。
尽管如此,Esri 更倾向于鼓励用户使用其自家的 Web Mapping APIs,因为它们提供了更深入的功能集成和更广泛的 GIS 功能。然而,对于那些希望集成 Google Maps 的项目,Esri 的技术仍然可以与 Google Maps API v3 ...
谷歌地图 API (v3) Openstreetmap 静态地图 地理编码 API 路线 API 街景 更新 1 此项目已弃用,不再更新。 它是在无法在 Delphi 应用程序中嵌入 Google Maps 相关 API 的免费和开源库时创建的。 与此同时,我...
* ASTER_GDEM_V3:发布单位为 NASA 和 METI,发布时间为 2019 年,坐标系为 WGS84,数据分辨率为 1″(约 30m),覆盖情况为全球陆地 99%。 * ALOS:发布单位为 JAXA,发布时间为 2015 年,坐标系为 WGS84,数据...
客户端-用于分别查看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服务中,我们经常需要根据经纬度坐标来获取对应的城市名称,这在地图应用、定位服务、天气预报等场景中非常常见。...