показать точки в круге на карте Google API v3 - PullRequest
1 голос
/ 23 марта 2011

У меня есть javascript, который может нарисовать кружок вокруг значка маркера, где значок маркера - это местоположение напечатанного адреса. У меня есть широты и долготы в несколько тысяч точек в файле Excel. Я хочу показать эти точки на карте Google, но только внутри круга. Любое решение в JavaScript будет высоко ценится.

Спасибо, Монир

1 Ответ

0 голосов
/ 23 марта 2011

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

    function distance(lat1, lng1, lat2, lng2) {
        var radius = 3956.0; // miles

        var deltaLat = ToRadians(lat2 - lat1);
        var deltaLng = ToRadians(lng2 - lng1);
        var sinLat = Math.sin(0.5*deltaLat);
        var sinLng = Math.sin(0.5*deltaLng);
        var cosLat1 = Math.cos(ToRadians(lat1));
        var cosLat2 = Math.cos(ToRadians(lat2));
        var h1 = sinLat*sinLat + cosLat1*cosLat2*sinLng*sinLng;
        var h2 = Math.sqrt(h1);
        var h3 = 2*Math.asin(Math.min(1, h2));
        var distance = radius*h3;
        return distance;
    }

    function ToRadians(degree) {
        return (degree * (Math.PI / 180));
    }

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

Bob

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...