标签为: "google Map" 的文章

利用GControl和GLayer对象在地图上显示panoramio图片

今天是Google map api的关于利用GControlGLayer对象在地图上显示panoramio图片的教程,昨天我写了一篇Google map api的教程是关于在地图上添加控制按钮的(Google Map API教程之使用GControl对象在地图上添加control按钮),今天结合上篇文章,写一下怎么在地图上加一个可以显示panoramio的图片,使用的主要对象是GControl和GLayer对象。关于GControl对象的官方文档(请点这里),GLayer对象的官方文档(请点这里

使用GLayer创建图片层对象

我们可以通过以下代码创建一个panoramio.com的图片层:
photoLayer=new GLayer("com.panoramio.all")
然后通过Gmap.addOverlay(photoLayer)添加这个层

谷歌地图的API支持的GLayer对象有谷歌webcam、panoramio、维基百科等,更多支持请点击查看:http://spreadsheets.google.com/pub?key=p9pdwsai2hDN-cAocTLhnag
阅读更多…

2010年6月28日

Google Map API教程之使用GControl对象在地图上添加control按钮

今天查看我网站的地图已经被谷歌收录了5900条,而百度也开始收录了,很欣慰~再接再厉,今天写的这一篇Google map api教程是关于在Google地图上添加control按钮的,用到的是Google Map API的GControl对象,通过initialize的方法插入一个div到地图上,再通过new GControlPosition设置按钮的位置,最后通过Gmap的addControl方法添加这个按钮。最终效果截图如下:

control

实现方法原理分析

首先建立一个GControl的原型control,然后定义其initialize 方法:主要是建立一个div,并且制定div的onclick事件,最后通过gmap.getContainer().appendChild(buttonDiv)插入到地图中去。
最后定义getDefaultPosition的方法,通过GControlPosition对象设置按钮所在地图的具体位置。
阅读更多…

2010年6月27日

Google Map API教程之如何自动缩放级别(setAutoZoom)

最近花了两晚上的时间写了一个google地图的应用程序,采用了map apiweather apilocalsearch api,我想的是有空写一些关于Google Map API的文章,今天就写一个关于自动缩放地图到合适级别的方法,这里说的自动缩放,指的是地图上已经加入了很多Gmarker点,而这些点任何地方都有,我们为了要它们在地图上能够都显示出来,必须要个Google Map设置一个合适的缩放级别和中心点,这里用的方法是Google Map API的GLatLngBounds

假设我们创建的Google Map对象为gmap = new GMap2(),我们添加所有GMarker都保存在一个名字为markers的数组里,它们的点遍布各地,我们要做的就是要这些点都在地图上显示出来,也就是自动缩放地图(set auto zoom)。

阅读更多…

2010年6月24日

php获取来访者IP信息

前几天幼学笔记写了一篇《可以在前端实现的几个地理位置小功能》里面提到了我使用的QQ ip接口,其实我们也可以在PHP端实现根据IP定位用户地理位置,方法就是根据纯真的IP库来获取IP地理信息。我一个Google map API逆经纬度查询结合IP数据库接口的demo[点击查看],其实使用的方法就是Ajax过去IP,通过QQ IP接口查询出来地理信息,然后调用Google map API逆经纬度查询经纬度信息,然后在Google地图上标注地理位置。

1、PHP获取来访者IP函数getIP()

function getIP()
{ 
        if(getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) 
                $ip = getenv("HTTP_CLIENT_IP"); 
        elseif(getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")) 
                $ip = getenv("HTTP_X_FORWARDED_FOR"); 
        elseif (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")) 
                $ip = getenv("REMOTE_ADDR"); 
        elseif (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) 
                $ip = $_SERVER['REMOTE_ADDR']; 
        else 
                $ip = "0.0.0.0"; 
        return $ip;
}

阅读更多…

2010年3月23日

php、js两种不同方式根据关键词返回经纬度接口【基于Google map API】

P.S:在本文章中您将找到根据城市关键词获取经纬度的方法,即就是通过google map API的逆经纬度查询接口获得经纬度。
google map api是一个强大的地图API,很多知名的网站都是用了google地图API,曾经我也写过一个根据来访者甚至域名来查询经纬度的程序(http://www.js8.in/mywork/ipsearch)。文章链接地址为:根据IP返回地理位置地址以及地理经纬度的方法,关于经纬度的其他文章可以参考全国各省市,县级城市经纬度SQL数据以及js数组
其中使用的是纯真IP数据库,已经google地图的逆经纬度查询~
而本例中我们实现的主要方式是php如何获得关键字的经纬度。
使用过Google map API的人都知道google有一个逆经纬度查询的接口,例如:

geocoder = new GClientGeocoder();geocoder.getLocations(
          '山东青岛',
        function($){
var lalton = $.Placemark[0].Point.coordinates;
alert(latlon[0]+","+latlon[1]);
});

可是对于php应该怎样获取经纬度呢?
今天在无意的时候看到一个wp的插件,其中找到了方法,就是通过google map API的逆经纬度查询接口获得经纬度~
首先你需要去http://code.google.com/intl/zh-CN/apis/maps/signup.html申请一个google map api的授权域名key
google的map api逆经纬度接口为:
http://maps.google.com/maps/geo?q=关键词(如山东青岛)&key=刚刚申请的API KEY&sensor=false&output=xml&oe=utf8
请求下来的数据时kml的数据格式,怎样解析呢?
阅读更多…

2009年11月21日

根据IP返回地理位置地址以及地理经纬度的方法

今天做了一个基于Google地图的根据IP返回地理位置的接口,效果演示地址:http://www.js8.in/mywork/ipsearch/

可以输入域名,如:www.2fool.cn,既可以返回地理位置,并且把地理位置定位到Google地图上,并且在地图上打开气泡显示经纬度。

效果图:
根据IP返回地理位置接口

关于这个IP查询接口的调用方法:http://www.js8.in/mywork/ipsearch/ipsearch.php?ip=你要查询的IP地址或者域名(如www.2fool.cn)

程序说明:

1、IP数据库采用了纯真IP数据库10.25日最新版,可能有时间就更新一下数据库内容。
2、获取的经纬度是根据Google的地图接口,返回的数据~对于国内的经纬度应该有一定的偏移(国家法律规定的),但是在Google上使用应该是可以的~

2009年10月28日