Как я могу связать ответ обратного вызова Google Maps Geocoder с моими пользовательскими данными?

У меня есть этот код, использующий API Google Maps JavaScript для геокодирования ряда адресов:

geocoder.geocode( { 'address': address }, function( results, status ) {
    if ( status == google.maps.GeocoderStatus.OK )
    {
        // Place marker on map
    }

Эти адреса «связаны» с некоторыми пользовательскими данными обо мне, и я хотел бы знать, «с чем» связан этот адрес. Я просто хочу знать, какому из объектов my соответствует этот обратный вызов геокодирования.

Более подходящим вопросом было бы: могу ли я отправить параметр «пользовательский» или «данные» в результаты geocoder.geocode() и вернуть его мне через функцию обратного вызова (возможно, в объекте «результаты» в обратном вызове)?

Спасибо!


person manuelflara    schedule 08.06.2011    source источник


Ответы (2)


Вы делаете несколько вызовов асинхронно или это, как кажется, один вызов на основе адреса?

В вашем коде у вас уже есть контекст (адрес, который вы «находите»), но вы не сохраняете его с помощью процедуры «поместить маркер на карту». Если вы не настроили это асинхронно, поток кода должен упростить сопоставление ваших данных с геокодированием и маркером.

Я что-то упускаю?

person Gregory A Beamer    schedule 08.06.2011
comment
Я делаю несколько вызовов асинхронно, поэтому не знаю, в каком порядке я получу эти обратные вызовы. - person manuelflara; 09.06.2011

О, забудь об этом.. Я просто сделал что-то глупое здесь.. Это вся моя функция для добавления маркера, сначала геокодирующего адрес:

function addEventToMap( address, label )
{
    geocoder.geocode( { 'address': address }, function( results, status ) {
        if ( status == google.maps.GeocoderStatus.OK )
        {
            // Add marker with "label" on it
        }
    });
}

Я не получал параметр «метка», и оказалось, что я передавал ему пустое значение.. мой плохой!

person manuelflara    schedule 09.06.2011