Drupal программное создание location_cck - PullRequest
0 голосов
/ 18 августа 2011

При использовании следующего кода для определения местоположения cck:

$location   =   array(
                    'latitude'      =>  "0.000000",
                    'longitude'     =>  "0.000000",
                    'street'        =>  "street is set",
                    'city'          =>  "city is set",
                    'postal_code'   =>  "post code set"
                );
                $newLocationID  =   location_save( $location );

Вся информация создается за исключением долготы и широты.

Может кто-нибудь сказать, почемукак я могу решить эту проблему?

1 Ответ

3 голосов
/ 20 октября 2011

У меня была такая же проблема, и вот как я ее решил.

Поскольку лучшей документацией является исходный код, я посмотрел на функцию location_save и обнаружил, что модуль локации пытается получитьширота и долгота с помощью геокодирования с использованием функции _location_geo_logic.

Это настройка по умолчанию, и когда вы посмотрите на функцию _location_geo_logic, вы заметите, что это геокодирование заменяет ключи широты и долготы во входном массиве,Однако это геокодирование выполняется только в том случае, если для переменной $inhibit_geocode установлено значение FALSE, поэтому единственное, что вам нужно сделать, это добавить этот ключ в $location array:

$location['inhibit_geocode'] = TRUE;

Для меняэто сработало отлично, я надеюсь, что так и будет для вас.

...