WAZE для веб не отвечает на регистрацию, почему? - PullRequest
0 голосов
/ 13 июля 2011

Я пытаюсь заставить waze среагировать и отправить мне обратно, только координаты по щелчку.Мне удалось сделать это с OpenLayers, но waze не отвечает.Я не знаю, было ли событие зарегистрировано или нет, и если это так, может быть, мышь не запустила событие ... Как я могу узнать?

Вот фрагмент кода:

function onInit(){
var map = g_waze_map.map;

// MY STUFF
controls = {
                point: new OpenLayers.Control.DrawFeature(vectors,
                            OpenLayers.Handler.Point),
                drag: new OpenLayers.Control.DragFeature(vectors)
            };

for(var key in controls) {
    map.addControl(controls[key]);
}

size = new OpenLayers.Size(21,25);
offset = new OpenLayers.Pixel(-(size.w/2), -size.h);
icon = new OpenLayers.Icon('http://www.openlayers.org/dev/img/marker.png',size,offset);
markers = new OpenLayers.Layer.Markers( "Markers" );

map.addLayer(markers);

map.events.register("click", map, function(e) {

    var position = map.getLonLatFromPixel(e.xy);
//          alert(position.lon.toFixed(3) + ', ' + position.lat.toFixed(3));

alert("Mouse click");
});

}

Спасибо!

1 Ответ

0 голосов
/ 13 июля 2011

Я не знаю, что делает API Waze, но вы можете добиться того же, используя элемент управления MousePosition .Просто добавьте его экземпляр на карту, и он показывает текущий lonlat поверх карты.

EDIT: Похоже, ваша onInit функция, которая регистрирует обратный вызов click, никогда не получаетназывается.В вашем скрипте две переменные g_waze_config, та, которая содержит ссылку на функцию onInit, объявляется только после включения скрипта Waze, в результате чего он не вызывается.

...