Tor*_*ike 18 javascript php google-maps web-services coordinates
我有一个系统,用户放置一些坐标(纬度/经度),我需要检查指定的坐标是否在海中.有什么服务可以给我答案.或者是否可以使用谷歌地图这样做.
Viv*_*sse 19
您可以使用Google Maps Geocode API.
如果您的地址在陆地中,则响应的result_type将类似于"administrative_area".如果你在海里,反应将是"natural_feature".
这是两个例子:
编辑:回复评论的更多示例:
Joh*_*ger 15
我曾经想过这个.
我不会使用网络服务.但我会用一个非常简单的图像.
此图片来自 http://www.vectorworldmap.com/vectormaps/vector-world-map-v2.2-blank.jpg
编辑来自一个伟大的评论
我喜欢这个解决方案,但我不确定地图是完全准确的还是equirectangular(这将是最容易使用的).这个怎么样?naturalearth.springercarto.com/ne3_data/8192/masks/water_8k.png
//结束
如果你需要超高分辨率地图,我会得到一个非常大的地图,并将其划分为一个可以加载的较小图像网格.
如果你需要让这个系统超级快速.我想这个像素像素可以创建这个东西的数据库,这样你就可以很快地查找它.但是下面这张图片实际上是一个很容易检查或更改的优秀数据库.
你想要海洋和湖泊吗?
很想知道你要去哪里,因为我喜欢这个问题.
约翰.
小智 6
扩展John Ballinger,我成功地使用了这个技巧:
在PHP中:
$lat = your latitude
$lon = your longitude
$im = imagecreatefrompng('http://maps.googleapis.com/maps/api/staticmap?center='.$lat.','.$lon.'&zoom=21&format=png&sensor=false&size=1x1&maptype=roadmap&style=feature:administrative|visibility:off&style=feature:landscape|color:0x000000&style=feature:water|color:0xffffff&style=feature:road|visibility:off&style=feature:transit|visibility:off&style=feature:poi|visibility:off');
//get pixel color, put it in an array
$color_index = imagecolorat($im, 0, 0);
$color_tran = imagecolorsforindex($im, $color_index);
//if, for example, red value of the pixel is 0 we are on land
if($color_tran['red']==0){
//do your thing
echo "we are on land";
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5258 次 |
最近记录: |