Геокодирование из Salesforce.com (большое количество статических адресов) - PullRequest
1 голос
/ 06 марта 2012

Мы разработали приложение в Salesforce.com для геокодирования и отображения account information (address information) на Google Maps в пределах Salesforce.com. У нас есть около 750 тыс. Адресов для начального (одноразового) процесса геокодирования (статические адресные данные), поскольку мы храним lat/lon с учетной записью. Есть ли у них какой-нибудь способ сделать это геокодирование в одной «партии», поскольку мы, кажется, достигли суточной нормы запроса в день (3 КБ)? Спасибо за вашу поддержку и обратную связь.

Ответы [ 4 ]

3 голосов
/ 06 марта 2012

Если вы хотите использовать Google для этого и вам нужно предварительно вычислить координаты широты / долготы, вам нужно перейти на API Карт Google для бизнеса .В таблице по этой ссылке представлен подробный обзор предельных различий, и я подозреваю, что условия использования также могут в большей степени соответствовать тому, что вы разрабатываете.

Если ваша цель - создать GoogleКарта из адресов, вы также можете рассмотреть просто передать адресные данные вместо широты и долготы.Их статические карты будут хорошо работать, если вы знаете, какие места вы хотите использовать на карте, у вас не слишком много местоположений на одной карте и вам не нужна интерактивность.В противном случае вам следует использовать API javascript, и их документация очень хороша для этого.

Если вы не знаете, какие местоположения вы хотите использовать на карте, вы можете использовать координаты широты и долготы:их почтовые индексы (которые свободно доступны ) для создания порта просмотра.

Если вам нужна статическая карта местоположений (независимо от того, выполняете ли вы предварительные вычисления широты / долготы),Я бы посоветовал взглянуть на apexgooglestaticmap Github репозиторий .Это позволяет легко создавать определенные типы статических карт Google в APEX и VisualForce.Вот пример из этого README:

APEX Controller

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 и изображение Google Maps

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

Также доступно множество других API геокодирования .Каждый из них имеет свои собственные условия обслуживания, поэтому убедитесь, что ваше приложение соответствует допустимым применениям, прежде чем создавать что-либо с ними.Лично я с успехом использовал PCMiler Web Services и Geonames для обратного геокодирования (у них также есть ряд других замечательных функций).

0 голосов
/ 24 мая 2013

Я изменил код для использования картографических сервисов Bing вместо Google.Там ограничения основаны на ключах и намного больше.Также, когда ключ достигает максимальных запросов, вы можете просто получить новый бесплатный ключ и применить его.

0 голосов
/ 07 сентября 2012

Я использую этот геокодер , добавляю свой список и использую Yahoo, чтобы получить lat и long.

У нас установлено FindNearby, поэтому, как только я получу геокодирование всех адресов, я добавлю их обратно в свой лист Excel в соответствующем столбце с Record ID.Так как мы используем FindNearby, мне нужно добавить столбец с названием Mapping Status, и все ячейки под ним говорят Расположены.Я использовал загрузчик ApexData для массовой загрузки в SF.Обратите внимание, что геокодер имеет ограничение в 1000 записей за один клик «кода», но не имеет ограничений на количество списков, которые вы можете обрабатывать в день.

0 голосов
/ 06 марта 2012

Google разрешает это только для каждого IP-адреса.Если бы вы смогли максимизировать места, из которых вы делали их, максимум на работе, дома или, возможно, в местных старбаксах, вы могли бы легко достичь цели.Если у вас более 250 сотрудников, просто задайте «домашнее задание» - отправляйтесь домой и геокодируйте его!Распространите богатство и удовольствие от геокодирования!

Другое решение - использование Google Maps API для бизнеса, которое позволяет выполнять до 100 000 запросов в день.Для получения дополнительной информации смотрите: http://code.google.com/apis/maps/documentation/geocoding/;Подробнее о API Карт Google для бизнеса: http://code.google.com/apis/maps/documentation/business/index.html

...