Щелкните внутри пути в Openstreetmap.

У меня есть два наложения в моем приложении openstreetmap: наложение Itemized и наложение Path вместе. Я хочу предоставить щелчок внутри пути внутри наложения пути и пользовательского маркера


person Bibin k jose    schedule 02.03.2015    source источник
comment
Вы забыли упомянуть свой фреймворк.   -  person scai    schedule 02.03.2015


Ответы (2)


Недоступно с PathOverlay. Используйте полилинию OSMBonusPack.

Если вы просто хотите открыть всплывающее окно, используйте setInfoWindow.

Если вы хотите сделать что-то еще, наследуйте от класса Polyline, переопределите onSingleTapConfirmed и используйте isCloseTo.

person MKer    schedule 17.03.2015

Наконец-то я получил ответ на вопрос выше...

* Добавить все наложения путей в один слой... * В одном касании проверьте isPointOnLine (lox, loy, ltx, lty, x, y)

public boolean isPointOnLine(double lox, double loy, double ltx, double lty, double x, double y) { // определить, находится ли точка на прямой Double dx = x - lox; Двойной ды = у - лой; двойной тх = лтх - локх; Двойной ти = лти - лой;

    // normalise the line vector
    Double t1 = new Double(1 / Math.sqrt(tx * tx + ty * ty));

    tx *= t1;
    ty *= t1;

    // calculate inverse length of secondary vector
    Double dl = new Double(1 / Math.sqrt(dx * dx + dy * dy));

    // take dot product of normalised line vector, and rotated normalised
    // secondary vector
    Double dot = (dy * tx - dx * ty) * dl;
    // Increase these values for less or more picky
    if (dot < -0.2 || dot > 0.2)
        return false;

    // calculate distance along line segment by taking dot product of
    // normalised
    // line vector and un-normalised secondary vector
    Double dis = tx * dx + ty * dy;
    if (dis < 0 || dis > 1 / t1)
        return false;

    return true;
}
person Bibin k jose    schedule 18.03.2015