Salesforce.com的地理编码(大量静态地址)

时间:2012-03-06 12:24:36

标签: salesforce geocoding

我们已在Salesforce.com中开发了一个应用程序,以便在account information (address information)内的Google Maps上对Salesforce.com进行地理编码和显示lat/lon。我们在初始(一次性)地理编码过程(静态地址数据)中有大约750k地址,因为我们将{{1}}存储在帐户中。 他们是否有任何办法让这个地理编码完成一个'批量',因为我们似乎达到每日要求的每日允许量(3k)? 感谢您的支持和反馈。

4 个答案:

答案 0 :(得分:3)

如果您想使用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 Page

<apex:image value="{!movesUrl}">

Google地图网址和图片

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&

Google Maps Example

还有many other geocoding APIs available。它们各自都有自己的服务条款,因此在使用它们构建任何内容之前,请确保您的应用程序符合可接受的用途。我个人使用PCMiler Web Services成功,Geonames用于反向地理编码(它们还有许多其他很棒的功能)。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

我使用此geocoder,并添加我的列表并使用yahoo获取latlong

我们安装了FindNearby,因此,一旦我获得了地理编码的所有地址,我就会将它们添加回具有Record ID的相应列中的Excel工作表中。由于我们使用FindNearby,因此我必须添加一个标题为Mapping Status的列,并且此下的所有单元格都显示为“已定位”。我使用ApexData加载程序批量上传到SF。请注意,地理编码器在单个“代码”点击时只有1000条记录的限制,但它没有限制您每天可以处理的列表数量。

答案 3 :(得分:-1)

我更改了一些代码以使用Bing地图服务而不是谷歌。有限制是基于键,并且更大。此外,当密钥达到其最大请求时,您可以获得一个新的免费密钥并应用它。