在salesforce中使用google地图展示所有客户所在的地理位置
2017-04-17 12:32
387 查看
注意:使用google地图api要想查看创建效果,必须使用代理服务器,中国大陆不能直接访问。
需求:本章博客将用最简单的方式介绍如何集成google地图,实现客户地理位置的展示。
思路:
1、在Account中自定义字段经纬度等;
2、编写Controller类来获取系统中所有客户的经纬度等数据;
3、编写VF,使用google map的api来展示地图控件,并将获取的客户地理信息解析出来填充到视图中;
4、以某种方式action来加载地图(这里将在tab中实现加载地图)。
相关代码:
1、LocationRemoter控制器
3、在Tab中new一个Visualforce Tabs,选择好自定义的visualforce page就OK了。
效果preview:
需求:本章博客将用最简单的方式介绍如何集成google地图,实现客户地理位置的展示。
思路:
1、在Account中自定义字段经纬度等;
2、编写Controller类来获取系统中所有客户的经纬度等数据;
3、编写VF,使用google map的api来展示地图控件,并将获取的客户地理信息解析出来填充到视图中;
4、以某种方式action来加载地图(这里将在tab中实现加载地图)。
相关代码:
1、LocationRemoter控制器
global with sharing class LocationRemoter { @RemoteAction global static List<Account> findAll() { return [SELECT Id, Name, Location__Latitude__s, Location__Longitude__s FROM Account]; } }2、编写AccountMap的visualforce
<apex:page sidebar="false" showheader="false" controller="LocationRemoter"> <head> <style type="text/css"> html { height: 100% } body { height: 100%; margin: 0; padding: 0 } #map-canvas { height: 100% } </style> //加载google地图的js <script src="https://maps.googleapis.com/maps/api/js?sensor=false"></script> <script> var map; function initialize() { var mapOptions = { //确定地图中心点,这里是中国的坐标 center: new google.maps.LatLng(29.56195, 106.551991), zoom: 6 }; map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions); loadLocation(); } function loadLocation() { Visualforce.remoting.Manager.invokeAction('{!$RemoteAction.LocationRemoter.findAll}', function(result, event){ if (event.status) { for (var i=0; i<result.length; i++) { var id = result[i].Id; var name = result[i].Name; var lat = result[i].Location__Latitude__s; var lng = result[i].Location__Longitude__s; addMarker(id, name, lat, lng); } } else { alert(event.message); } }, {escape: true} ); } function addMarker(id, name, lat, lng) { var marker = new google.maps.Marker({ position: new google.maps.LatLng(lat, lng), 4000 map: map, title: name }); //点击地图的marker,返回到对应客户的详细页面 google.maps.event.addListener(marker, 'click', function(event) { window.top.location = '/' + id; }); } //为谷歌地图增加事件,当窗口加载时初始化地图,并将参数渲染到地图上 google.maps.event.addDomListener(window, 'load', initialize); </script> </head> <body> <div id="map-canvas"/> </body> </apex:page>
3、在Tab中new一个Visualforce Tabs,选择好自定义的visualforce page就OK了。
效果preview:
相关文章推荐
- 客户端获取游客IP,获取客户地理信息,展示地图
- 获取客户IP并查询IP的地理位置(使用淘宝IP地址库)
- IOS开发学习笔记(十六)——使用地理位置及地图(上篇)
- IOS开发学习笔记(十八)——使用地理位置及地图(下篇)
- 使用Http请求 查找指定位置附近的景点(google 地图)
- android菜鸟学习笔记31----Android使用百度地图API(二)获取地理位置及地图控制器的简单使用
- 使用Google Geocoding API来进行关键字搜索,获取相关的地理位置信息
- 跨平台移动开发_PhoneGap 使用Geolocation基于所在地理位置坐标调用百度地图API
- 在pc电脑上使用地图(百度地图、高德地图等),地图软件是怎么获取pc电脑的所在位置的?
- 使用WireShark生成地理位置数据地图
- 使用LocationManager来获取移动设备所在的地理位置信息
- IOS开发学习笔记(十七)——使用地理位置及地图(中篇)
- iphone--使用HTTP请求 查找指定位置附近的景点(GOOGLE 地图)
- 使用HTTP请求 查找指定位置附近的景点(GOOGLE 地图)
- google手机地图“我的位置”功能的精确度
- Google获得地理位置信息显示广告的专利
- 利用google提供的API(JavaScript接口)获取网站访问者IP地理位置的代码详解
- 怎样在google手机地图中方便使用公交查询功能
- Bing Maps进阶系列二:使用GeocodeService进行地理位置检索
- google Map api地理位置坐标转换