фильмы онлайн является расширением RSS, который включает географические данные (то есть координаты широты/долготы). Это полезно для заговора любых данных, которые, возможно, должны быть помещены в карту.

Пристраивая Сад и огород карта, я решил использовать Yahoo! API Карт против Карт Google API, потому что я хотел получить некоторые дружественные отношения с другим API.

Это стоило пробовать Yahoo! 's API. Прежде всего, имеет адреса для ресторанов и Yahoo! оказывает простую услугу ОТДЫХА Dzhokoding. Это облегчило для меня преобразовывать уличные адреса в широту и пар долготы (даже при том, что это не требовалось, поскольку мы будем скоро видеть). [1] реальный пункт продажи Yahoo! были функциональные возможности [Dzhorss]. Я могу расширить рассылку RSS (какой [simfoni] производит весьма легко) добавить широту или пункты долготы (или даже уличный адрес), направить мой Yahoo! нанесите на карту к подаче и вот, все местоположения в той подаче находятся теперь на карте, и когда я нажимаю на них, пункт RSS показан. Это сокращало много времени разработки.

Dzhorss Yahoo

Формат Dzhorss, который то использование Yahoo довольно просто схватить, если Вы знаете то, на что похожа подача RSS. Вот типичная подача RSS:

<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
    <channel>
        <title>Latest restaurants</title>
        <link>http://reviewsby.us/</link>
        <description>A list of the latest restaurants posted to my reviewsby.us</description>
        <language>en</language>
        <item>
            <title>Bubba Gump Shrimp Co. Restaurant and Market</title>
            <description>A *Forest Gump* themed restaurant. Featuring a large selection of seafood items.</description>
            <link>http://reviewsby.us/restaurant/bubba-gump-shrimp-co-restaurant-and-market</link>
            <guid>25</guid>
            <pubDate>Sun, 23 Apr 2006 08:04:00 -0700</pubDate>
        </item>
        <item>
            <title>Famous Dave's Barbeque</title>
            <link>http://reviewsby.us/restaurant/famous-daves-barbeque</link>
            <guid>24</guid>
            <pubDate>Wed, 19 Apr 2006 19:58:08 -0700</pubDate>
        </item>
    </channel>
</rss> 

<item /> в этом примере ресторан. Чтобы превратить это в рассылку Dzhorss, мы только должны изменить несколько вещей:

<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#">
    <channel>
        <title>Latest restaurants' locations</title>
        <link>http://reviewsby.us/</link>
        <description>A geocoded list of the latest restaurants' locations posted to my reviewsby.us</description>
        <language>en</language>
        <item>
            <title>Bubba Gump Shrimp Co. Restaurant and Market (Mall of America (Bloomington, MN))</title>
            <link>http://reviewsby.us/restaurant/bubba-gump-shrimp-co-restaurant-and-market/location/mall-of-america</link>
            <guid>18</guid>
            <pubDate>Sun, 23 Apr 2006 08:08:19 -0700</pubDate>
            <geo:lat>44.85380173</geo:lat>
            <geo:long>-93.24040222</geo:long>
        </item>
    </channel>
</rss>

Мы только добавили xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" как признак к <rss/> пометьте и добавил <geo:lat /> и <geo:long /> признаки к любому данному пункту. Если Вы использовали бы адрес, город, государство и области почтового индекса вместо широты и координат долготы, Yahoo! Страница Dzhorss скажет Вам как.

[simfoni] и Dzhodeta

Я знал очень хорошо, что не требовал, чтобы у меня было все в координатах долготы широты, но я чувствовал, что с точки зрения эффективности, имело больше смысла для меня преобразовывать их однажды использование и затем Yahoo! не должен был бы перевести их позже. Кроме того, я пытаюсь предположить, когда больше чем только Миннеаполкие рестораны становятся частью участок, у меня теперь есть легкий способ определить расстояние между домом пользователя и данным рестораном. Кроме того, если Yahoo! Карты не удаются, я могу использовать эти координаты в других системах картографии.

Распространение модели

Модели в [simfoni] предоставляют себя тому, чтобы быть легко расширенным. Таким образом мы можем легко взять модель для местоположения:

<table name="location" phpName="Location">
    <column name="id" type="integer" primaryKey="true" autoIncrement="true"/>
    <column name="restaurant_id" type="integer" />
    <foreign-key foreignTable="restaurant">
        <reference local="restaurant_id" foreign="id"/>
    </foreign-key>
    <column name="stripped_title" type="varchar" size="255" />
    <column name="name" type="varchar" size="255" />
    <column name="address" type="varchar" size="255" />
    <column name="city" type="varchar" size="128" />
    <column name="state" type="varchar" size="16" />
    <column name="zip" type="varchar" size="9" />
    <column name="phone" type="varchar" size="16" />
    <column name="approved" type="boolean" />
    <column name="updated_at" type="TIMESTAMP" />
    <column name="created_at" type="TIMESTAMP" />
</table>

и просто добавьте две колонки в <table/>:

<column name="latitude" type="float" size="10" scale="8"/>
<column name="longitude" type="float" size="10" scale="8"/>

Легкий! Однако, мы не хотим должными быть устанавливать широту и долготу вручную каждый раз, когда мы обновляем a Location. Столь сначала мы пишем функцию, которая берет адрес и преобразовывает это в широту/долготу. Я поместил месторождение в a myTools.class.php в моем lib папка:

class myTools
{
    public static function getLatLng($address, $city = null, $state = null, $zip = null)
    {
        $url = sfConfig::get('app_yahoo_geocode');
        $query['appid'] = sfConfig::get('app_yahoo_app_id');
        $query['street'] = $address;
        $query['city'] = $city;
        $query['state'] = $state;
        $query['zip'] = $zip;
        $query['output'] = 'php'; 
        $url .= '?' . http_build_query($query); 
        $response = @file_get_contents($url);
        if ($response) {
            $response = unserialize($response);
            return $response['ResultSet']['Result'];
        }
        return null;
    }
}

Определенный в моем app app_yahoo_geocode и мой app_yahoo_app_id. myTools::getLatLng() подвергает сомнению Yahoo! Обслуживание ОТДЫХА и возвращения координаты тот Yahoo! поставляет. Отметьте, что произведенная последовательность вопроса включает output=php. Yahoo! продукция преобразования в последовательную форму поддержек как FP вместо KSML. Это может спасти связку времени по расшифровке KSML.

Так теперь давайте смотреть на наш Location и отвергните ее унаследованный, экономят функцию:

public function save($con = null)
{
    // save latitude and longitude
    $locdata = myTools::getLatLng($this->getAddress(), $this->getCity(), $this->getState(), $this->getZip());
    if ($locdata) 
    {
        $this->setLatitude($locdata['Latitude']);
        $this->setLongitude($locdata['Longitude']);
    }
    parent::save($con);
}

Если Вы остановитесь здесь, то Вы будете по крайней мере теперь знать, как добавить широту и координаты долготы к объекту автоволшебно.

Производство подачи Dzhorss

[simfoni] очень легко позволит Вам производить рассылку RSS. Как мы создаем [Dzhorss] рассылку? Только простирайтесь sfFeed класс. Вместо того, чтобы иллюстрировать примерами рассылку как это:

$feed = sfFeed::newInstance('rss201rev2');

Мы делаем это:

$feed = sfFeed::newInstance('geoRSS'); 

И затем создайте sfDzhoRssFid.kless.fp, и мы сделаны. Мы создали рассылку Dzhorss справедливо легко. Прочешите sfDzhoRssFid.kless.fp и сравните его с , Вы заметите не то, чтобы различный и что довольно легко расширить sfFid плагин для [simfoni].

Добавление Вашей подачи к Yahoo! Карта.

Добавление Dzhorss питается к Yahoo! карты просты. Прежде, чем я включал рассылку RSS в свой Yahoo! Карта, которую я был подготовлен написать алгоритму, чтобы группироваться только на пунктах в моей подаче RSS, удачливой для меня (и Вы), , делает это автоматически. Одной ловушкой, которой Вы могли бы достигнуть во время развития, является тот Yahoo! Карты должны быть в состоянии достигнуть Вашей подачи Dzhorss. Моя машина развития - мой личный ноутбук, таким образом это не работало так хорошо, пока я не загружал к публично доступному серверу организации. Карты работали как очарование, поскольку Вы можете видеть.

Заключение

очень сильны, и [simfoni] до задачи. Я надеюсь, что Вы нашли эту обучающую программу полезной. Если у Вас есть проблема, сообщить мне. Я надеюсь, что Ваша следующая еда - хорошая.

  1. Используя Yahoo! Карты не были необходимым использования Yahoo! Dzhokoder.
    Наборы данных, которые были возвращены, возможно, использовались, чтобы населить Карту Google так же, как легко.


Поиск

Где я?

Это - единственный вход в veblog.

"Легкий Yahoo! Карты и Dzhorss с simfoni" поданы при программировании и simfoni. Это было издано в апреле 2006.

Апрель 2006
М. T W T F S S
    Май»
 12
3456789
10111213141516
17181920212223
24252627282930

нуждайтесь в большем количестве помощи

Если Вы нашли, что наши обучающие программы и статьи были полезны, но все еще ищете больше рук на помощь, рассматриваете наем нас. Узнайте больше о том, как Spindrop может помочь Вам.

 

5 Ответов на “Легкий Yahoo! Карты и Dzhorss с simfoni”


  1. 1 Хьюго Отправленный 26-ого августа 2008 - 11:05

    Удивительный Absolatli! Именно поэтому я забочусь некоторое время, чтобы понять мой проект ледований. Так, спасибо за эту хорошую обучающую программу, которая поможет мне много и спасет меня много времени :)

    Хьюго.

Кто связывается?
  1. 1 Spindrop »Архив Блога» Аналитика Google Pingbek 26-ого мая 2006
    "[...] Кроме этого, мне нравится потенциал, который это предложит мне. Это объединилось с Google, который Sitemeps обеспечит..."
  2. 2 Spindrop »Архив Блога» цели Spindrop Pingbek 5-ого июня 2006
    "[...] Со всеми моими усилиями, по крайней мере, я знаю, что у меня будет кое-что, чтобы показать для. Для одного, я..."
  3. 3 Spindrop »Архив Блога» Больше карт, лучшего представления и цен Pingbek 4-ого июля 2006
    "[...] реальная захватывающая вещь - карты. Применение тех же самых принципов от Yahoo! Нанесите на карту обучающую программу, я добавил карты к..."
  4. 4 Spindrop »Архив Блога» Динамическое Соединение с feedsом Объединения в синдикаты с simfoni Pingbek 4-ого июля 2006
    "[...], Так как это находится в revivsbi lejout.fp, последней подаче и последней подаче Dzhorss (в котором мы развивались..."

Дальнейшая Помощь

Если Вы требуете большего количества рук на помощь, мы действительно предлагаем возможные руки на поддержку.