我们已经开发了一个应用程序Salesforce.com,以便在Google Maps
内对Salesforce.com
进行地理编码和显示account information (address information)
。我们的初始(一次性)地理编码过程(静态地址数据)的地址大约为750k,因为我们将lat/lon
与该帐户一起存储。 他们有没有办法让这个地理编码在一个批次中完成,因为我们似乎每天都会获得每日请求的日常津贴(3k)? 感谢您的支持和反馈。从Salesforce.com进行地理编码(大量静态地址)
回答
Google只允许每个IP地址的最大值。如果你能够最大限度地利用他们所从事的工作,最大限度地在工作中,家中或者当地的星巴克,你可以轻松实现目标。如果您有超过250名员工,只需指定回家的“作业”并对其进行地理编码即可!传播地理编码的财富和乐趣!
另一种解决方案是使用Google Maps API For Business,它允许您每天最多处理100,000个请求。欲了解更多信息,请看:http://code.google.com/apis/maps/documentation/geocoding/;以获取更多有关Geoogle Maps API For Business的信息:http://code.google.com/apis/maps/documentation/business/index.html
如果您希望使用Google来做到这一点,并且需要预先计算纬度/经度坐标,则需要升级到Google Maps API for Business。该链接上的表格提供了有关限制差异的详细概述,我怀疑这些使用条款也可能更符合您开发的内容。
如果您的目标是从地址创建Google地图,您也可以考虑只传递地址数据而不是经纬度。只要您知道您想要在地图上使用哪些位置,您的静态地图就可以正常工作,您在一张地图中没有太多位置,并且不需要交互性。否则,你应该使用JavaScript API,他们的文档对此非常有用。
如果您不知道您想在地图上使用哪个位置,则可以使用其邮政编码的经纬度坐标(即freely available)创建视图端口。
如果你想要一个位置的静态地图(无论你是否预先计算纬度/经度),我建议看看apexgooglestaticmap Github repository。它使得在APEX和VisualForce中制作特定类型的静态Google地图变得非常容易。下面是从README一个例子:
APEX控制器
String[] homes = new String[]{'Albany, NY','Wellesley, MA','New York, NY','Pittsburgh, PA','01945','Ann Arbor, MI','Chicago, IL'};
GoogleStaticMap.MapPath moves = new GoogleStaticMap.MapPath(homes).color('0x000000ff');
String movesUrl = new GoogleStaticMap().addPath(moves).url;
Visualforce页
<apex:image value="{!movesUrl}">
谷歌地图URL和图像
https://maps.google.com/maps/api/staticmap?sensor=false&size=500x350&markers=label:0%7CAlbany%2C+NY&markers=label:1%7CWellesley%2C+MA&markers=label:2%7CNew+York%2C+NY&markers=label:3%7CPittsburgh%2C+PA&markers=label:4%7C01945&markers=label:5%7CAnn+Arbor%2C+MI&markers=label:6%7CChicago%2C+IL&markers=label:0%7CAlbany%2C+NY&markers=label:1%7CWellesley%2C+MA&markers=label:2%7CNew+York%2C+NY&markers=label:3%7CPittsburgh%2C+PA&markers=label:4%7C01945&markers=label:5%7CAnn+Arbor%2C+MI&markers=label:6%7CChicago%2C+IL&path=weight:5%7Ccolor:0x000000ff%7CAlbany%2C+NY%7CWellesley%2C+MA%7CNew+York%2C+NY%7CPittsburgh%2C+PA%7C01945%7CAnn+Arbor%2C+MI%7CChicago%2C+IL&
还有many other geocoding APIs available。他们每个人都有自己的服务条款,所以在你使用它们建立任何东西之前,确保你的应用程序符合可接受的用途。我个人使用PCMiler Web Services成功,并使用Geonames进行反向地理编码(他们还有许多其他强大功能)。
我使用这个geocoder,并添加我的列表并使用雅虎获得lat
和long
。
我们安装了FindNearby
,所以一旦我得到所有地址的地理编码,我将它们添加回到我的excel工作表的Record ID
。由于我们使用FindNearby
,因此我必须添加一个标题为Mapping Status
的列,以及此位置下的所有单元格。我使用ApexData loader将批量上传到SF中。请注意,geocoder在单次“代码”点击时只有1000条记录的限制,但它对每天处理的列表数量没有限制。
我更改了一些代码来使用Bing地图服务而不是谷歌。有限制是基于键和更大。此外,当密钥达到最大请求时,您可以获得一个新的免费密钥并应用它。