开发者

show points within circle on GOOGLE map API v3

I have a javascript which can draw a circle around a marker icon where the Marker icon is the location of a typed address. I have latitudes and longitudes of few thousands of points in excel file. I want to show these points on the google map but within the circl开发者_StackOverflow社区e only. Any solution in javascript will be much appreciated.

Thanks, Monir


Get your points into a more web friendly format. JSON is great. Then you can load them directly into your page. From there, you can calculate the distance between any point and your marker using the following:

    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));
    }

If the distance is less than your radius, then you show it.

Bob

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜