<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>断桥残雪部落格google Map</title>
	<atom:link href="http://www.js8.in/tag/google-map/feed" rel="self" type="application/rss+xml" />
	<link>http://www.js8.in</link>
	<description>专注前端开发，分享JS、jQuery、PHP、CSS、WEB开发技巧</description>
	<lastBuildDate>Wed, 08 Sep 2010 09:58:05 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<ttl>30</ttl>
		<item>
		<title>利用GControl和GLayer对象在地图上显示panoramio图片</title>
		<link>http://www.js8.in/566.html</link>
		<comments>http://www.js8.in/566.html#comments</comments>
		<pubDate>Tue, 29 Jun 2010 00:39:02 +0000</pubDate>
		<dc:creator>断桥残雪</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[google Map]]></category>
		<category><![CDATA[panoramio]]></category>
		<category><![CDATA[教程]]></category>

		<guid isPermaLink="false">http://www.js8.in/?p=566</guid>
		<description><![CDATA[今天结合在地图上添加控制按钮的文章，写一下怎么在地图上加一个可以显示panoramio的图片，使用的主要对象是GControl和GLayer对象]]></description>
			<content:encoded><![CDATA[<p>今天是Google map api的关于利用<strong>GControl</strong>和<strong>GLayer</strong>对象在地图上显示panoramio图片的教程，昨天我写了一篇Google map api的教程是关于在地图上添加控制按钮的（<a target="_blank" title="使用GControl对象在地图上添加control按钮" href="http://www.js8.in/564.html" target="_blank">Google Map API教程之使用GControl对象在地图上添加control按钮</a>），今天结合上篇文章，写一下怎么在地图上加一个可以显示<strong>panoramio</strong>的图片，使用的主要对象是GControl和GLayer对象。关于GControl对象的官方文档（<a href="http://code.google.com/intl/zh-CN/apis/maps/documentation/javascript/v2/reference.html#GControl" target="_blank">请点这里</a>），GLayer对象的官方文档（<a target="_blank" href="http://code.google.com/intl/zh-CN/apis/maps/documentation/javascript/v2/reference.html#GLayer" target="_blank">请点这里</a>）</p>
<h3>使用GLayer创建图片层对象</h3>
<p>我们可以通过以下代码创建一个panoramio.com的图片层：<br />
<code>photoLayer=new GLayer("com.panoramio.all")</code><br />
然后通过<code>Gmap.addOverlay(photoLayer)</code>添加这个层</p>
<p>谷歌地图的API支持的GLayer对象有谷歌webcam、panoramio、维基百科等，更多支持请点击查看：<a target="_blank" href="http://spreadsheets.google.com/pub?key=p9pdwsai2hDN-cAocTLhnag" target="_blank">http://spreadsheets.google.com/pub?key=p9pdwsai2hDN-cAocTLhnag</a><br />
<span id="more-566"></span></p>
<h3>使用GControl对象在地图上创建一个checkbox</h3>
<p>这种方法就不多说了，具体GControl的使用，请看我之前写的关于GControl的教程（<a title="使用GControl对象在地图上添加control按钮" href="http://www.js8.in/564.html" target="_blank">Google Map API教程之使用GControl对象在地图上添加control按钮</a>）。这里就只是贴出来代码：</p>
<pre>function photoControl() {};
photoControl.prototype = new GControl();
photoControl.prototype.initialize = function(gmap){
	var buttonDiv = document.createElement("div");
	buttonDiv.id = "photoLayer";
	var inputDiv=document.createElement("input");
	inputDiv.type="checkbox";
	inputDiv.id="photoCheckBox"
	inputDiv.onclick=function(){
		addPhotoLayer(this.checked)
	}
	buttonDiv.appendChild(inputDiv);
	var labelFor=document.createElement("label");
	labelFor.setAttribute("for","photoCheckBox");
	labelFor.appendChild(document.createTextNode("看图"));
	buttonDiv.appendChild(labelFor);
	gmap.getContainer().appendChild(buttonDiv);
	return buttonDiv;
};

photoControl.prototype.getDefaultPosition = function(){
	return new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(530, 7));
};</pre>
<h3>最终代码和实例</h3>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> gmap<span style="color: #339933;">=</span><span style="color: #003366; font-weight: bold;">null</span><span style="color: #339933;">,</span>photoLayer<span style="color: #339933;">=</span><span style="color: #003366; font-weight: bold;">new</span> GLayer<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;com.panoramio.all&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">function</span> init<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	 <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>GBrowserIsCompatible<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            gmap <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> GMap2<span style="color: #009900;">&#40;</span>document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;gmap&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            gmap.<span style="color: #660066;">setCenter</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">new</span> GLatLng<span style="color: #009900;">&#40;</span><span style="color: #CC0000;">36.105</span><span style="color: #339933;">,</span><span style="color: #CC0000;">120.34</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">12</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            gmap.<span style="color: #660066;">setUI</span><span style="color: #009900;">&#40;</span>gmap.<span style="color: #660066;">getDefaultUI</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            gmap.<span style="color: #660066;">enableScrollWheelZoom</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
			gmap.<span style="color: #660066;">addControl</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">new</span> photoControl<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
       <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #003366; font-weight: bold;">function</span> photoControl<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
photoControl.<span style="color: #660066;">prototype</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> GControl<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
photoControl.<span style="color: #660066;">prototype</span>.<span style="color: #660066;">initialize</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>gmap<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">var</span> buttonDiv <span style="color: #339933;">=</span> document.<span style="color: #660066;">createElement</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;div&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	buttonDiv.<span style="color: #660066;">id</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;photoLayer&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #003366; font-weight: bold;">var</span> inputDiv<span style="color: #339933;">=</span>document.<span style="color: #660066;">createElement</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;input&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	inputDiv.<span style="color: #660066;">type</span><span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;checkbox&quot;</span><span style="color: #339933;">;</span>
	inputDiv.<span style="color: #660066;">id</span><span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;photoCheckBox&quot;</span>
	inputDiv.<span style="color: #660066;">onclick</span><span style="color: #339933;">=</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		addPhotoLayer<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">checked</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#125;</span>
	buttonDiv.<span style="color: #660066;">appendChild</span><span style="color: #009900;">&#40;</span>inputDiv<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #003366; font-weight: bold;">var</span> labelFor<span style="color: #339933;">=</span>document.<span style="color: #660066;">createElement</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;label&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	labelFor.<span style="color: #660066;">setAttribute</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;for&quot;</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;photoCheckBox&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	labelFor.<span style="color: #660066;">appendChild</span><span style="color: #009900;">&#40;</span>document.<span style="color: #660066;">createTextNode</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;看图&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	buttonDiv.<span style="color: #660066;">appendChild</span><span style="color: #009900;">&#40;</span>labelFor<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	gmap.<span style="color: #660066;">getContainer</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">appendChild</span><span style="color: #009900;">&#40;</span>buttonDiv<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">return</span> buttonDiv<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
photoControl.<span style="color: #660066;">prototype</span>.<span style="color: #660066;">getDefaultPosition</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">new</span> GControlPosition<span style="color: #009900;">&#40;</span>G_ANCHOR_TOP_LEFT<span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">new</span> GSize<span style="color: #009900;">&#40;</span><span style="color: #CC0000;">530</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">7</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">function</span> addPhotoLayer<span style="color: #009900;">&#40;</span>checked<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>checked<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			gmap.<span style="color: #660066;">addOverlay</span><span style="color: #009900;">&#40;</span>photoLayer<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
			gmap.<span style="color: #660066;">removeOverlay</span><span style="color: #009900;">&#40;</span>photoLayer<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span></pre></div></div>

<p class="demoview"><a target="_blank" href="http://ditu.js8.in" target="_blank">Google map api实例</a> | <a href="http://www.js8.in/mywork/googlemap/photocontrol.html" target="_blank">利用GControl和GLayer对象在地图上显示panoramio图片</a></p>
<div class="copyright"><span class="fav"><span class="icon"></span><span><strong>收藏本文到：</strong><a target="_blank" rel="nofollow" href="http://shuqian.qq.com/post?title=利用GControl和GLayer对象在地图上显示panoramio图片&#038; uri=http://www.js8.in/566.html" title="收藏本文到QQ书签" target="_blank">QQ书签</a> | <a target="_blank" rel="nofollow" href="http://www.google.com/bookmarks/mark?op=add&#038;hl=zh_cn&#038;title=利用GControl和GLayer对象在地图上显示panoramio图片&#038;bkmk=http://www.js8.in/566.html" title="收藏本文到Google书签" target="_blank">Google书签</a> | <a target="_blank" rel="nofollow" href="http://cang.baidu.com/do/add?it=利用GControl和GLayer对象在地图上显示panoramio图片&#038;iu=http://www.js8.in/566.html" title="收藏本文到百度搜藏" target="_blank">百度搜藏</a> | <a target="_blank" rel="nofollow" href=" http://share.renren.com/share/buttonshare.do?link=http://www.js8.in/566.html&#038;title=利用GControl和GLayer对象在地图上显示panoramio图片" title="收藏本文到人人网" target="_blank">人人网</a> | <a target="_blank" rel="nofollow" href="http://www.douban.com/recommend/?url=http://www.js8.in/566.html&#038;title=利用GControl和GLayer对象在地图上显示panoramio图片" title="收藏本文到豆瓣" target="_blank">豆瓣</a> | <a target="_blank" rel="nofollow" href="http://www.kaixin001.com/repaste/share.php?rtitle=利用GControl和GLayer对象在地图上显示panoramio图片&#038;rurl=http://www.js8.in/566.html" title="收藏本文到开心网" target="_blank">开心网</a> | <a target="_blank" rel="nofollow" href="http://myweb.cn.yahoo.com/popadd.html?title=利用GControl和GLayer对象在地图上显示panoramio图片&#038;url=http://www.js8.in/566.html" title="收藏本文到Yahoo收藏" target="_blank">Yahoo收藏</a> | <a target="_blank" rel="nofollow" href="http://vivi.sina.com.cn/collect/icollect.php?title=利用GControl和GLayer对象在地图上显示panoramio图片&#038;url=http://www.js8.in/566.html" title="收藏到新浪ViVi" target="_blank">新浪ViVi</a> | <a target="_blank" rel="nofollow" href="http://leshou.com/post?act=shou&#038;title=利用GControl和GLayer对象在地图上显示panoramio图片&#038;url=http://www.js8.in/566.html" title="收藏本文到乐收" target="_blank">乐收</a></span></span><span><span class="icon"></span><span><strong>声明：</strong>文章未声明为原创文章，本文链接 <a rel="external nofollow" href="http://www.js8.in/566.html" title="利用GControl和GLayer对象在地图上显示panoramio图片">http://www.js8.in/566.html</a>. 转载请注明转自<a rel="bookmark inlinks" href="http://www.js8.in" title="Theo Wong来自于青岛普加智能有限公司"> JS8.IN ™</a></span></span></div>
<h3>相关文章</h3>
<ul class="related_posts">
<li><a href="http://www.js8.in/342.html" title="php、js两种不同方式根据关键词返回经纬度接口【基于Google map API】" rel="bookmark inlinks">php、js两种不同方式根据关键词返回经纬度接口【基于Google map API】</a></li>
<li><a href="http://www.js8.in/308.html" title="根据IP返回地理位置地址以及地理经纬度的方法" rel="bookmark inlinks">根据IP返回地理位置地址以及地理经纬度的方法</a></li>
<li><a href="http://www.js8.in/509.html" title="php获取来访者IP信息" rel="bookmark inlinks">php获取来访者IP信息</a></li>
<li><a href="http://www.js8.in/564.html" title="Google Map API教程之使用GControl对象在地图上添加control按钮" rel="bookmark inlinks">Google Map API教程之使用GControl对象在地图上添加control按钮</a></li>
<li><a href="http://www.js8.in/283.html" title="jQuery+google weather API轻松实现天气地图（二）" rel="bookmark inlinks">jQuery+google weather API轻松实现天气地图（二）</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.js8.in/566.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Map API教程之使用GControl对象在地图上添加control按钮</title>
		<link>http://www.js8.in/564.html</link>
		<comments>http://www.js8.in/564.html#comments</comments>
		<pubDate>Mon, 28 Jun 2010 03:45:25 +0000</pubDate>
		<dc:creator>断桥残雪</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[google Map]]></category>
		<category><![CDATA[教程]]></category>

		<guid isPermaLink="false">http://www.js8.in/?p=564</guid>
		<description><![CDATA[今天写的这一篇Google map api教程是关于在Google地图上利用GContro对象添加control按钮的，用到的是Google Map API的GControl对象]]></description>
			<content:encoded><![CDATA[<p>今天查看我<a target="_blank" title="全国地图经纬度查询" href="http://ditu.js8.in" target="_blank">网站的地图</a>已经被谷歌收录了5900条，而百度也开始收录了，很欣慰~再接再厉，今天写的这一篇<strong>Google map api教程</strong>是关于在Google地图上添加control按钮的，用到的是Google Map API的<code><strong>GControl</strong></code>对象，通过initialize的方法插入一个div到地图上，再通过<code>new <strong>GControlPosition</strong></code>设置按钮的位置，最后通过Gmap的<code><strong>addControl</strong></code>方法添加这个按钮。最终效果截图如下：</p>
<p style="text-align: center;"><a href="http://www.js8.in/mywork/googlemap/gcontrol.html"><img class="aligncenter size-medium wp-image-565" title="control" src="http://www.js8.in/wp-content/uploads/2010/06/control-300x171.jpg" alt="control" width="300" height="171" /></a></p>
<h3>实现方法原理分析</h3>
<p>首先建立一个GControl的原型control，然后定义其initialize 方法：主要是建立一个div，并且制定div的onclick事件，最后通过<code>gmap.getContainer().appendChild(buttonDiv)</code>插入到地图中去。<br />
最后定义<code>getDefaultPosition</code>的方法，通过<code>GControlPosition</code>对象设置按钮所在地图的具体位置。<br />
<span id="more-564"></span></p>
<h3>Google Map API 代码</h3>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> control<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
control.<span style="color: #660066;">prototype</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> GControl<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
control.<span style="color: #660066;">prototype</span>.<span style="color: #660066;">initialize</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>gmap<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">var</span> buttonDiv <span style="color: #339933;">=</span> document.<span style="color: #660066;">createElement</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;div&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	buttonDiv.<span style="color: #660066;">id</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;control&quot;</span><span style="color: #339933;">;</span>
	buttonDiv.<span style="color: #660066;">appendChild</span><span style="color: #009900;">&#40;</span>document.<span style="color: #660066;">createTextNode</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;清除标点&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	buttonDiv.<span style="color: #660066;">onclick</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		gmap.<span style="color: #660066;">clearOverlays</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
	gmap.<span style="color: #660066;">getContainer</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">appendChild</span><span style="color: #009900;">&#40;</span>buttonDiv<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">return</span> buttonDiv<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
control.<span style="color: #660066;">prototype</span>.<span style="color: #660066;">getDefaultPosition</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">new</span> GControlPosition<span style="color: #009900;">&#40;</span>G_ANCHOR_TOP_LEFT<span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">new</span> GSize<span style="color: #009900;">&#40;</span><span style="color: #CC0000;">510</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">7</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span></pre></div></div>

<p>最后我们再通过<code>gmap.addControl(new control());</code>将这个按钮加入到地图中</p>
<p class="demoview"><a target="_blank" href="http://ditu.js8.in" target="_blank">全国地图经纬度查询</a> | <a href="http://www.js8.in/mywork/googlemap/gcontrol.html" target="_blank">利用GControl对象在地图上添加control按钮实例</a></p>
<div class="copyright"><span class="fav"><span class="icon"></span><span><strong>收藏本文到：</strong><a target="_blank" rel="nofollow" href="http://shuqian.qq.com/post?title=Google Map API教程之使用GControl对象在地图上添加control按钮&#038; uri=http://www.js8.in/564.html" title="收藏本文到QQ书签" target="_blank">QQ书签</a> | <a target="_blank" rel="nofollow" href="http://www.google.com/bookmarks/mark?op=add&#038;hl=zh_cn&#038;title=Google Map API教程之使用GControl对象在地图上添加control按钮&#038;bkmk=http://www.js8.in/564.html" title="收藏本文到Google书签" target="_blank">Google书签</a> | <a target="_blank" rel="nofollow" href="http://cang.baidu.com/do/add?it=Google Map API教程之使用GControl对象在地图上添加control按钮&#038;iu=http://www.js8.in/564.html" title="收藏本文到百度搜藏" target="_blank">百度搜藏</a> | <a target="_blank" rel="nofollow" href=" http://share.renren.com/share/buttonshare.do?link=http://www.js8.in/564.html&#038;title=Google Map API教程之使用GControl对象在地图上添加control按钮" title="收藏本文到人人网" target="_blank">人人网</a> | <a target="_blank" rel="nofollow" href="http://www.douban.com/recommend/?url=http://www.js8.in/564.html&#038;title=Google Map API教程之使用GControl对象在地图上添加control按钮" title="收藏本文到豆瓣" target="_blank">豆瓣</a> | <a target="_blank" rel="nofollow" href="http://www.kaixin001.com/repaste/share.php?rtitle=Google Map API教程之使用GControl对象在地图上添加control按钮&#038;rurl=http://www.js8.in/564.html" title="收藏本文到开心网" target="_blank">开心网</a> | <a target="_blank" rel="nofollow" href="http://myweb.cn.yahoo.com/popadd.html?title=Google Map API教程之使用GControl对象在地图上添加control按钮&#038;url=http://www.js8.in/564.html" title="收藏本文到Yahoo收藏" target="_blank">Yahoo收藏</a> | <a target="_blank" rel="nofollow" href="http://vivi.sina.com.cn/collect/icollect.php?title=Google Map API教程之使用GControl对象在地图上添加control按钮&#038;url=http://www.js8.in/564.html" title="收藏到新浪ViVi" target="_blank">新浪ViVi</a> | <a target="_blank" rel="nofollow" href="http://leshou.com/post?act=shou&#038;title=Google Map API教程之使用GControl对象在地图上添加control按钮&#038;url=http://www.js8.in/564.html" title="收藏本文到乐收" target="_blank">乐收</a></span></span><span><span class="icon"></span><span><strong>声明：</strong>文章未声明为原创文章，本文链接 <a rel="external nofollow" href="http://www.js8.in/564.html" title="Google Map API教程之使用GControl对象在地图上添加control按钮">http://www.js8.in/564.html</a>. 转载请注明转自<a rel="bookmark inlinks" href="http://www.js8.in" title="Theo Wong来自于青岛普加智能有限公司"> JS8.IN ™</a></span></span></div>
<h3>相关文章</h3>
<ul class="related_posts">
<li><a href="http://www.js8.in/566.html" title="利用GControl和GLayer对象在地图上显示panoramio图片" rel="bookmark inlinks">利用GControl和GLayer对象在地图上显示panoramio图片</a></li>
<li><a href="http://www.js8.in/562.html" title="Google Map API教程之如何自动缩放级别（setAutoZoom）" rel="bookmark inlinks">Google Map API教程之如何自动缩放级别（setAutoZoom）</a></li>
<li><a href="http://www.js8.in/342.html" title="php、js两种不同方式根据关键词返回经纬度接口【基于Google map API】" rel="bookmark inlinks">php、js两种不同方式根据关键词返回经纬度接口【基于Google map API】</a></li>
<li><a href="http://www.js8.in/283.html" title="jQuery+google weather API轻松实现天气地图（二）" rel="bookmark inlinks">jQuery+google weather API轻松实现天气地图（二）</a></li>
<li><a href="http://www.js8.in/509.html" title="php获取来访者IP信息" rel="bookmark inlinks">php获取来访者IP信息</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.js8.in/564.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Google Map API教程之如何自动缩放级别（setAutoZoom）</title>
		<link>http://www.js8.in/562.html</link>
		<comments>http://www.js8.in/562.html#comments</comments>
		<pubDate>Fri, 25 Jun 2010 02:55:35 +0000</pubDate>
		<dc:creator>断桥残雪</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[google Map]]></category>

		<guid isPermaLink="false">http://www.js8.in/?p=562</guid>
		<description><![CDATA[最近花了两晚上的时间写了一个google地图的应用程序，采用了map api，weather api，localsearch api，我想的是有空写一些关于Google Map API的文章，今天就写一个关于自动缩放地图到合适级别的方法，]]></description>
			<content:encoded><![CDATA[<p>最近花了两晚上的时间写了一个<a target="_blank" title="Google Map API应用程序" href="http://ditu.js8.in" target="_blank">google地图</a>的应用程序，采用了<strong>map api</strong>，<strong>weather api</strong>，<strong>localsearch api</strong>，我想的是有空写一些关于<strong>Google Map API</strong>的文章，今天就写一个关于自动缩放地图到合适级别的方法，这里说的自动缩放，指的是地图上已经加入了很多<strong>Gmarker</strong>点，而这些点任何地方都有，我们为了要它们在地图上能够都显示出来，必须要个Google Map设置一个合适的缩放级别和中心点，这里用的方法是Google Map API的<strong>GLatLngBounds</strong>。</p>
<p>假设我们创建的Google Map对象为<code>gmap = new GMap2()</code>，我们添加所有<strong>GMarker</strong>都保存在一个名字为markers的数组里，它们的点遍布各地，我们要做的就是要这些点都在地图上显示出来，也就是自动缩放地图（set auto zoom）。</p>
<p><span id="more-562"></span></p>
<p>首先我们<code>bounds = new <strong>GLatLngBounds</strong>();</code>，然后我们使用一个循环把所有的GMarker中的GLatLng对象传给bounds，即：<code>bounds.extend(markers[i].getLatLng())</code>，做完循环之后我们就可以通过以下的代码set auto zoom了：<br />
<code>gmap.setCenter(bounds.getCenter(),gmap.getBoundsZoomLevel(bounds);</code><br />
结合起来就是下面的setAutoZoom的函数：</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> setAutoZoom<span style="color: #009900;">&#40;</span>gmap<span style="color: #339933;">,</span>markers<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">var</span> i<span style="color: #339933;">=</span>markers.<span style="color: #660066;">length</span><span style="color: #339933;">,</span>bounds <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> GLatLngBounds<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span>i<span style="color: #339933;">--</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		bounds.<span style="color: #660066;">extend</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">new</span> GLatLng<span style="color: #009900;">&#40;</span>markers<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">y</span><span style="color: #339933;">,</span>markers<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">x</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	gmap.<span style="color: #660066;">setCenter</span><span style="color: #009900;">&#40;</span>bounds.<span style="color: #660066;">getCenter</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>gmap.<span style="color: #660066;">getBoundsZoomLevel</span><span style="color: #009900;">&#40;</span>bounds<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
<span style="color: #009900;">&#125;</span></pre></div></div>

<p class="demoview"><a target="_blank" href="http://www.js8.in/mywork/googlemap/setautozoom.html">查看Google Map Api setAutoZoom实例</a></p>
<div class="copyright"><span class="fav"><span class="icon"></span><span><strong>收藏本文到：</strong><a target="_blank" rel="nofollow" href="http://shuqian.qq.com/post?title=Google Map API教程之如何自动缩放级别（setAutoZoom）&#038; uri=http://www.js8.in/562.html" title="收藏本文到QQ书签" target="_blank">QQ书签</a> | <a target="_blank" rel="nofollow" href="http://www.google.com/bookmarks/mark?op=add&#038;hl=zh_cn&#038;title=Google Map API教程之如何自动缩放级别（setAutoZoom）&#038;bkmk=http://www.js8.in/562.html" title="收藏本文到Google书签" target="_blank">Google书签</a> | <a target="_blank" rel="nofollow" href="http://cang.baidu.com/do/add?it=Google Map API教程之如何自动缩放级别（setAutoZoom）&#038;iu=http://www.js8.in/562.html" title="收藏本文到百度搜藏" target="_blank">百度搜藏</a> | <a target="_blank" rel="nofollow" href=" http://share.renren.com/share/buttonshare.do?link=http://www.js8.in/562.html&#038;title=Google Map API教程之如何自动缩放级别（setAutoZoom）" title="收藏本文到人人网" target="_blank">人人网</a> | <a target="_blank" rel="nofollow" href="http://www.douban.com/recommend/?url=http://www.js8.in/562.html&#038;title=Google Map API教程之如何自动缩放级别（setAutoZoom）" title="收藏本文到豆瓣" target="_blank">豆瓣</a> | <a target="_blank" rel="nofollow" href="http://www.kaixin001.com/repaste/share.php?rtitle=Google Map API教程之如何自动缩放级别（setAutoZoom）&#038;rurl=http://www.js8.in/562.html" title="收藏本文到开心网" target="_blank">开心网</a> | <a target="_blank" rel="nofollow" href="http://myweb.cn.yahoo.com/popadd.html?title=Google Map API教程之如何自动缩放级别（setAutoZoom）&#038;url=http://www.js8.in/562.html" title="收藏本文到Yahoo收藏" target="_blank">Yahoo收藏</a> | <a target="_blank" rel="nofollow" href="http://vivi.sina.com.cn/collect/icollect.php?title=Google Map API教程之如何自动缩放级别（setAutoZoom）&#038;url=http://www.js8.in/562.html" title="收藏到新浪ViVi" target="_blank">新浪ViVi</a> | <a target="_blank" rel="nofollow" href="http://leshou.com/post?act=shou&#038;title=Google Map API教程之如何自动缩放级别（setAutoZoom）&#038;url=http://www.js8.in/562.html" title="收藏本文到乐收" target="_blank">乐收</a></span></span><span><span class="icon"></span><span><strong>声明：</strong>文章未声明为原创文章，本文链接 <a rel="external nofollow" href="http://www.js8.in/562.html" title="Google Map API教程之如何自动缩放级别（setAutoZoom）">http://www.js8.in/562.html</a>. 转载请注明转自<a rel="bookmark inlinks" href="http://www.js8.in" title="Theo Wong来自于青岛普加智能有限公司"> JS8.IN ™</a></span></span></div>
<h3>相关文章</h3>
<ul class="related_posts">
<li><a href="http://www.js8.in/308.html" title="根据IP返回地理位置地址以及地理经纬度的方法" rel="bookmark inlinks">根据IP返回地理位置地址以及地理经纬度的方法</a></li>
<li><a href="http://www.js8.in/509.html" title="php获取来访者IP信息" rel="bookmark inlinks">php获取来访者IP信息</a></li>
<li><a href="http://www.js8.in/566.html" title="利用GControl和GLayer对象在地图上显示panoramio图片" rel="bookmark inlinks">利用GControl和GLayer对象在地图上显示panoramio图片</a></li>
<li><a href="http://www.js8.in/342.html" title="php、js两种不同方式根据关键词返回经纬度接口【基于Google map API】" rel="bookmark inlinks">php、js两种不同方式根据关键词返回经纬度接口【基于Google map API】</a></li>
<li><a href="http://www.js8.in/564.html" title="Google Map API教程之使用GControl对象在地图上添加control按钮" rel="bookmark inlinks">Google Map API教程之使用GControl对象在地图上添加control按钮</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.js8.in/562.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>php获取来访者IP信息</title>
		<link>http://www.js8.in/509.html</link>
		<comments>http://www.js8.in/509.html#comments</comments>
		<pubDate>Tue, 23 Mar 2010 13:25:34 +0000</pubDate>
		<dc:creator>断桥残雪</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[网络技术]]></category>
		<category><![CDATA[google Map]]></category>
		<category><![CDATA[IP]]></category>

		<guid isPermaLink="false">http://www.js8.in/?p=509</guid>
		<description><![CDATA[其实我们也可以在PHP端实现根据IP定位用户地理位置，方法就是根据纯真的IP库来获取IP地理信息。我一个Google map API逆经纬度查询结合IP数据库接口的demo，其实使用的方法就是Ajax过去IP，通过QQ IP接口查询出来地理信息，然后调用Google map API逆经纬度查询经纬度信息，然后在Google地图上标注地理位置。]]></description>
			<content:encoded><![CDATA[<p>前几天幼学笔记写了一篇《<a target="_blank" href="http://www.oncoding.cn/2010/geo-location-frontend/" target="_blank">可以在前端实现的几个地理位置小功能</a>》里面提到了我使用的QQ ip接口，其实我们也可以在PHP端实现根据IP定位用户<strong>地理位置</strong>，方法就是根据纯真的IP库来获取IP地理信息。我一个<strong>Google map API</strong>逆经纬度查询结合IP数据库接口的demo[<a href="http://www.js8.in/mywork/ipsearch/" target="_blank">点击查看</a>]，其实使用的方法就是Ajax过去IP，通过QQ IP接口查询出来地理信息，然后调用Google map API逆经纬度查询经纬度信息，然后在Google地图上标注地理位置。</p>
<h3>1、PHP获取来访者IP函数getIP()</h3>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> getIP<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span> 
        <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">getenv</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;HTTP_CLIENT_IP&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">strcasecmp</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">getenv</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;HTTP_CLIENT_IP&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;unknown&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> 
                <span style="color: #000088;">$ip</span> <span style="color: #339933;">=</span> <span style="color: #990000;">getenv</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;HTTP_CLIENT_IP&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
        <span style="color: #b1b100;">elseif</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">getenv</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;HTTP_X_FORWARDED_FOR&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">strcasecmp</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">getenv</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;HTTP_X_FORWARDED_FOR&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;unknown&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> 
                <span style="color: #000088;">$ip</span> <span style="color: #339933;">=</span> <span style="color: #990000;">getenv</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;HTTP_X_FORWARDED_FOR&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
        <span style="color: #b1b100;">elseif</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">getenv</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;REMOTE_ADDR&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">strcasecmp</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">getenv</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;REMOTE_ADDR&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;unknown&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> 
                <span style="color: #000088;">$ip</span> <span style="color: #339933;">=</span> <span style="color: #990000;">getenv</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;REMOTE_ADDR&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
        <span style="color: #b1b100;">elseif</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'REMOTE_ADDR'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'REMOTE_ADDR'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">strcasecmp</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'REMOTE_ADDR'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;unknown&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> 
                <span style="color: #000088;">$ip</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'REMOTE_ADDR'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span> 
        <span style="color: #b1b100;">else</span> 
                <span style="color: #000088;">$ip</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;0.0.0.0&quot;</span><span style="color: #339933;">;</span> 
        <span style="color: #b1b100;">return</span> <span style="color: #000088;">$ip</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p><span id="more-509"></span></p>
<h3>2、查询纯真IP库PHP类IpLocation</h3>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">class</span> IpLocation <span style="color: #009900;">&#123;</span>
    <span style="color: #009933; font-style: italic;">/**
     * QQWry.Dat文件指针
     *
     * @var resource
     */</span>
    <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$fp</span><span style="color: #339933;">;</span>
    <span style="color: #009933; font-style: italic;">/**
    * 第一条IP记录的偏移地址
     *
    * @var int
       */</span>
       <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$firstip</span><span style="color: #339933;">;</span>
         <span style="color: #009933; font-style: italic;">/**
        * 最后一条IP记录的偏移地址
        *
        * @var int
        */</span>
       <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$lastip</span><span style="color: #339933;">;</span>
        <span style="color: #009933; font-style: italic;">/**
        * IP记录的总条数（不包含版本信息记录）
        *
        * @var int
        */</span>
       <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$totalip</span><span style="color: #339933;">;</span>
         <span style="color: #009933; font-style: italic;">/**
        * 返回读取的长整型数
        *
       * @access private
        * @return int
        */</span>
       <span style="color: #000000; font-weight: bold;">function</span> getlong<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
           <span style="color: #666666; font-style: italic;">//将读取的little-endian编码的4个字节转化为长整型数</span>
           <span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #990000;">unpack</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Vlong'</span><span style="color: #339933;">,</span> <span style="color: #990000;">fread</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fp</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">4</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
           <span style="color: #b1b100;">return</span> <span style="color: #000088;">$result</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'long'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
       <span style="color: #009900;">&#125;</span>
         <span style="color: #009933; font-style: italic;">/**
        * 返回读取的3个字节的长整型数
        *
        * @access private
        * @return int
       */</span>
       <span style="color: #000000; font-weight: bold;">function</span> getlong3<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
           <span style="color: #666666; font-style: italic;">//将读取的little-endian编码的3个字节转化为长整型数</span>
           <span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #990000;">unpack</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Vlong'</span><span style="color: #339933;">,</span> <span style="color: #990000;">fread</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fp</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">3</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #990000;">chr</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
           <span style="color: #b1b100;">return</span> <span style="color: #000088;">$result</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'long'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
       <span style="color: #009900;">&#125;</span>
    <span style="color: #009933; font-style: italic;">/**
     * 返回压缩后可进行比较的IP地址
     *
       * @access private
        * @param string $ip
        * @return string
        */</span>
       <span style="color: #000000; font-weight: bold;">function</span> packip<span style="color: #009900;">&#40;</span><span style="color: #000088;">$ip</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
           <span style="color: #666666; font-style: italic;">// 将IP地址转化为长整型数，如果在PHP5中，IP地址错误，则返回False，</span>
        <span style="color: #666666; font-style: italic;">// 这时intval将Flase转化为整数-1，之后压缩成big-endian编码的字符串</span>
        <span style="color: #b1b100;">return</span> <span style="color: #990000;">pack</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'N'</span><span style="color: #339933;">,</span> <span style="color: #990000;">intval</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">ip2long</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ip</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #009933; font-style: italic;">/**
     * 返回读取的字符串
        *
        * @access private
        * @param string $data
        * @return string
     */</span>
    <span style="color: #000000; font-weight: bold;">function</span> getstring<span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$char</span> <span style="color: #339933;">=</span> <span style="color: #990000;">fread</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fp</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">ord</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$char</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>        <span style="color: #666666; font-style: italic;">// 字符串按照C格式保存，以\0结束</span>
            <span style="color: #000088;">$data</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$char</span><span style="color: #339933;">;</span>             <span style="color: #666666; font-style: italic;">// 将读取的字符连接到给定字符串之后</span>
            <span style="color: #000088;">$char</span> <span style="color: #339933;">=</span> <span style="color: #990000;">fread</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fp</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
           <span style="color: #b1b100;">return</span> <span style="color: #000088;">$data</span><span style="color: #339933;">;</span>
       <span style="color: #009900;">&#125;</span>
      <span style="color: #009933; font-style: italic;">/**
     * 返回地区信息
     *
     * @access private
     * @return string
     */</span>
    <span style="color: #000000; font-weight: bold;">function</span> getarea<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$byte</span> <span style="color: #339933;">=</span> <span style="color: #990000;">fread</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fp</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>    <span style="color: #666666; font-style: italic;">// 标志字节</span>
           <span style="color: #b1b100;">switch</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">ord</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$byte</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">:</span>                     <span style="color: #666666; font-style: italic;">// 没有区域信息</span>
                 <span style="color: #000088;">$area</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span>
                 <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
             <span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">:</span>
             <span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">:</span>                     <span style="color: #666666; font-style: italic;">// 标志字节为1或2，表示区域信息被重定向</span>
                 <span style="color: #990000;">fseek</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fp</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getlong3</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                 <span style="color: #000088;">$area</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getstring</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                 <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
             <span style="color: #b1b100;">default</span><span style="color: #339933;">:</span>                    <span style="color: #666666; font-style: italic;">// 否则，表示区域信息没有被重定向</span>
                 <span style="color: #000088;">$area</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getstring</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$byte</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #000088;">$area</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #009933; font-style: italic;">/**
     * 根据所给 IP 地址或域名返回所在地区信息
     *
     * @access public
     * @param string $ip
     * @return array
      */</span>
    <span style="color: #000000; font-weight: bold;">function</span> getlocation<span style="color: #009900;">&#40;</span><span style="color: #000088;">$ip</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fp</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">;</span>            <span style="color: #666666; font-style: italic;">// 如果数据文件没有被正确打开，则直接返回空</span>
        <span style="color: #000088;">$location</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'ip'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">gethostbyname</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ip</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   <span style="color: #666666; font-style: italic;">// 将输入的域名转化为IP地址</span>
        <span style="color: #000088;">$ip</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">packip</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$location</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'ip'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   <span style="color: #666666; font-style: italic;">// 将输入的IP地址转化为可比较的IP地址</span>
                                               <span style="color: #666666; font-style: italic;">// 不合法的IP地址会被转化为255</span>
        <span style="color: #666666; font-style: italic;">// 对分搜索</span>
        <span style="color: #000088;">$l</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>                         <span style="color: #666666; font-style: italic;">// 搜索的下边界</span>
        <span style="color: #000088;">$u</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">totalip</span><span style="color: #339933;">;</span>            <span style="color: #666666; font-style: italic;">// 搜索的上边界</span>
        <span style="color: #000088;">$findip</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">lastip</span><span style="color: #339933;">;</span>        <span style="color: #666666; font-style: italic;">// 如果没有找到就返回最后一条IP记录（QQWry.Dat的版本信息）</span>
         <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$l</span> <span style="color: #339933;">&lt;=</span> <span style="color: #000088;">$u</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>              <span style="color: #666666; font-style: italic;">// 当上边界小于下边界时，查找失败</span>
             <span style="color: #000088;">$i</span> <span style="color: #339933;">=</span> <span style="color: #990000;">floor</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$l</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$u</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">/</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  <span style="color: #666666; font-style: italic;">// 计算近似中间记录</span>
            <span style="color: #990000;">fseek</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fp</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">firstip</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">*</span> <span style="color: #cc66cc;">7</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #000088;">$beginip</span> <span style="color: #339933;">=</span> <span style="color: #990000;">strrev</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">fread</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fp</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">4</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>     <span style="color: #666666; font-style: italic;">// 获取中间记录的开始IP地址</span>
            <span style="color: #666666; font-style: italic;">// strrev函数在这里的作用是将little-endian的压缩IP地址转化为big-endian的格式</span>
            <span style="color: #666666; font-style: italic;">// 以便用于比较，后面相同。</span>
            <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$ip</span> <span style="color: #339933;">&lt;</span> <span style="color: #000088;">$beginip</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>       <span style="color: #666666; font-style: italic;">// 用户的IP小于中间记录的开始IP地址时</span>
                <span style="color: #000088;">$u</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">-</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>            <span style="color: #666666; font-style: italic;">// 将搜索的上边界修改为中间记录减一</span>
            <span style="color: #009900;">&#125;</span>
            <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
                 <span style="color: #990000;">fseek</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fp</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getlong3</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                 <span style="color: #000088;">$endip</span> <span style="color: #339933;">=</span> <span style="color: #990000;">strrev</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">fread</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fp</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">4</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   <span style="color: #666666; font-style: italic;">// 获取中间记录的结束IP地址</span>
                 <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$ip</span> <span style="color: #339933;">&gt;</span> <span style="color: #000088;">$endip</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>     <span style="color: #666666; font-style: italic;">// 用户的IP大于中间记录的结束IP地址时</span>
                    <span style="color: #000088;">$l</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>        <span style="color: #666666; font-style: italic;">// 将搜索的下边界修改为中间记录加一</span>
                <span style="color: #009900;">&#125;</span>
                <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>                  <span style="color: #666666; font-style: italic;">// 用户的IP在中间记录的IP范围内时</span>
                    <span style="color: #000088;">$findip</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">firstip</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">*</span> <span style="color: #cc66cc;">7</span><span style="color: #339933;">;</span>
                    <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>              <span style="color: #666666; font-style: italic;">// 则表示找到结果，退出循环</span>
                <span style="color: #009900;">&#125;</span>
            <span style="color: #009900;">&#125;</span>
         <span style="color: #009900;">&#125;</span>
         <span style="color: #666666; font-style: italic;">//获取查找到的IP地理位置信息</span>
         <span style="color: #990000;">fseek</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fp</span><span style="color: #339933;">,</span> <span style="color: #000088;">$findip</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
         <span style="color: #000088;">$location</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'beginip'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">long2ip</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getlong</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   <span style="color: #666666; font-style: italic;">// 用户IP所在范围的开始地址</span>
        <span style="color: #000088;">$offset</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getlong3</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #990000;">fseek</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fp</span><span style="color: #339933;">,</span> <span style="color: #000088;">$offset</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$location</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'endip'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">long2ip</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getlong</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>     <span style="color: #666666; font-style: italic;">// 用户IP所在范围的结束地址</span>
        <span style="color: #000088;">$byte</span> <span style="color: #339933;">=</span> <span style="color: #990000;">fread</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fp</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>    <span style="color: #666666; font-style: italic;">// 标志字节</span>
        <span style="color: #b1b100;">switch</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">ord</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$byte</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
             <span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">:</span>                     <span style="color: #666666; font-style: italic;">// 标志字节为1，表示国家和区域信息都被同时重定向</span>
                 <span style="color: #000088;">$countryOffset</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getlong3</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>         <span style="color: #666666; font-style: italic;">// 重定向地址</span>
                 <span style="color: #990000;">fseek</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fp</span><span style="color: #339933;">,</span> <span style="color: #000088;">$countryOffset</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                 <span style="color: #000088;">$byte</span> <span style="color: #339933;">=</span> <span style="color: #990000;">fread</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fp</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>    <span style="color: #666666; font-style: italic;">// 标志字节</span>
                 <span style="color: #b1b100;">switch</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">ord</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$byte</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                    <span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">:</span>             <span style="color: #666666; font-style: italic;">// 标志字节为2，表示国家信息又被重定向</span>
                        <span style="color: #990000;">fseek</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fp</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getlong3</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                        <span style="color: #000088;">$location</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'country'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getstring</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                        <span style="color: #990000;">fseek</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fp</span><span style="color: #339933;">,</span> <span style="color: #000088;">$countryOffset</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">4</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                        <span style="color: #000088;">$location</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'area'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getarea</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                         <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
                     <span style="color: #b1b100;">default</span><span style="color: #339933;">:</span>            <span style="color: #666666; font-style: italic;">// 否则，表示国家信息没有被重定向</span>
                         <span style="color: #000088;">$location</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'country'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getstring</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$byte</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                         <span style="color: #000088;">$location</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'area'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getarea</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                         <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
                 <span style="color: #009900;">&#125;</span>
                <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
            <span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">:</span>                     <span style="color: #666666; font-style: italic;">// 标志字节为2，表示国家信息被重定向</span>
                <span style="color: #990000;">fseek</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fp</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getlong3</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #000088;">$location</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'country'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getstring</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                 <span style="color: #990000;">fseek</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fp</span><span style="color: #339933;">,</span> <span style="color: #000088;">$offset</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">8</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                 <span style="color: #000088;">$location</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'area'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getarea</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                 <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
             <span style="color: #b1b100;">default</span><span style="color: #339933;">:</span>                    <span style="color: #666666; font-style: italic;">// 否则，表示国家信息没有被重定向</span>
                 <span style="color: #000088;">$location</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'country'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getstring</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$byte</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                 <span style="color: #000088;">$location</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'area'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getarea</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                 <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$location</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'country'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">&quot; CZNET&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>  <span style="color: #666666; font-style: italic;">// CZNET表示没有有效信息</span>
            <span style="color: #000088;">$location</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'country'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;未知&quot;</span><span style="color: #339933;">;</span>
         <span style="color: #009900;">&#125;</span>
         <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$location</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'area'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">&quot; CZNET&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
             <span style="color: #000088;">$location</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'area'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span>
         <span style="color: #009900;">&#125;</span>
         <span style="color: #b1b100;">return</span> <span style="color: #000088;">$location</span><span style="color: #339933;">;</span>
     <span style="color: #009900;">&#125;</span>
     <span style="color: #009933; font-style: italic;">/**
     * 构造函数，打开 QQWry.Dat 文件并初始化类中的信息
     *
       * @param string $filename
       * @return IpLocation
       */</span>
      <span style="color: #000000; font-weight: bold;">function</span> IpLocation<span style="color: #009900;">&#40;</span><span style="color: #000088;">$filename</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;QQWry.Dat&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
          <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fp</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
          <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fp</span> <span style="color: #339933;">=</span> <span style="color: #339933;">@</span><span style="color: #990000;">fopen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$filename</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'rb'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!==</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
              <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">firstip</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getlong</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
              <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">lastip</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getlong</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
              <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">totalip</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">lastip</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">firstip</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">/</span> <span style="color: #cc66cc;">7</span><span style="color: #339933;">;</span>
           <span style="color: #666666; font-style: italic;">//注册析构函数，使其在程序执行结束时执行</span>
           <span style="color: #990000;">register_shutdown_function</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span><span style="color: #000088;">$this</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'_IpLocation'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
       <span style="color: #009900;">&#125;</span>
   <span style="color: #009900;">&#125;</span>
   <span style="color: #009933; font-style: italic;">/**
    * 析构函数，用于在页面执行结束后自动关闭打开的文件。
    *
    */</span>
   <span style="color: #000000; font-weight: bold;">function</span> _IpLocation<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
       <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fp</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
              <span style="color: #990000;">fclose</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fp</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fp</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<h3>3、使用方法</h3>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$ip</span><span style="color: #339933;">=</span>getIP<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$iplocation</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> IpLocation<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$location</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$iplocation</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getlocation</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ip</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">//转码为UTF-8</span>
<span style="color: #000088;">$address</span><span style="color: #339933;">=</span><span style="color: #990000;">mb_convert_encoding</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$location</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'country'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #000088;">$location</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'area'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;UTF-8&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;GBK&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<div class="copyright"><span class="fav"><span class="icon"></span><span><strong>收藏本文到：</strong><a target="_blank" rel="nofollow" href="http://shuqian.qq.com/post?title=php获取来访者IP信息&#038; uri=http://www.js8.in/509.html" title="收藏本文到QQ书签" target="_blank">QQ书签</a> | <a target="_blank" rel="nofollow" href="http://www.google.com/bookmarks/mark?op=add&#038;hl=zh_cn&#038;title=php获取来访者IP信息&#038;bkmk=http://www.js8.in/509.html" title="收藏本文到Google书签" target="_blank">Google书签</a> | <a target="_blank" rel="nofollow" href="http://cang.baidu.com/do/add?it=php获取来访者IP信息&#038;iu=http://www.js8.in/509.html" title="收藏本文到百度搜藏" target="_blank">百度搜藏</a> | <a target="_blank" rel="nofollow" href=" http://share.renren.com/share/buttonshare.do?link=http://www.js8.in/509.html&#038;title=php获取来访者IP信息" title="收藏本文到人人网" target="_blank">人人网</a> | <a target="_blank" rel="nofollow" href="http://www.douban.com/recommend/?url=http://www.js8.in/509.html&#038;title=php获取来访者IP信息" title="收藏本文到豆瓣" target="_blank">豆瓣</a> | <a target="_blank" rel="nofollow" href="http://www.kaixin001.com/repaste/share.php?rtitle=php获取来访者IP信息&#038;rurl=http://www.js8.in/509.html" title="收藏本文到开心网" target="_blank">开心网</a> | <a target="_blank" rel="nofollow" href="http://myweb.cn.yahoo.com/popadd.html?title=php获取来访者IP信息&#038;url=http://www.js8.in/509.html" title="收藏本文到Yahoo收藏" target="_blank">Yahoo收藏</a> | <a target="_blank" rel="nofollow" href="http://vivi.sina.com.cn/collect/icollect.php?title=php获取来访者IP信息&#038;url=http://www.js8.in/509.html" title="收藏到新浪ViVi" target="_blank">新浪ViVi</a> | <a target="_blank" rel="nofollow" href="http://leshou.com/post?act=shou&#038;title=php获取来访者IP信息&#038;url=http://www.js8.in/509.html" title="收藏本文到乐收" target="_blank">乐收</a></span></span><span><span class="icon"></span><span><strong>声明：</strong>文章未声明为原创文章，本文链接 <a rel="external nofollow" href="http://www.js8.in/509.html" title="php获取来访者IP信息">http://www.js8.in/509.html</a>. 转载请注明转自<a rel="bookmark inlinks" href="http://www.js8.in" title="Theo Wong来自于青岛普加智能有限公司"> JS8.IN ™</a></span></span></div>
<h3>相关文章</h3>
<ul class="related_posts">
<li><a href="http://www.js8.in/342.html" title="php、js两种不同方式根据关键词返回经纬度接口【基于Google map API】" rel="bookmark inlinks">php、js两种不同方式根据关键词返回经纬度接口【基于Google map API】</a></li>
<li><a href="http://www.js8.in/409.html" title="巧用谷歌Reader订阅最新春运信息" rel="bookmark inlinks">巧用谷歌Reader订阅最新春运信息</a></li>
<li><a href="http://www.js8.in/562.html" title="Google Map API教程之如何自动缩放级别（setAutoZoom）" rel="bookmark inlinks">Google Map API教程之如何自动缩放级别（setAutoZoom）</a></li>
<li><a href="http://www.js8.in/566.html" title="利用GControl和GLayer对象在地图上显示panoramio图片" rel="bookmark inlinks">利用GControl和GLayer对象在地图上显示panoramio图片</a></li>
<li><a href="http://www.js8.in/412.html" title="PHP生成RSS类：RSS.class.php" rel="bookmark inlinks">PHP生成RSS类：RSS.class.php</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.js8.in/509.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>php、js两种不同方式根据关键词返回经纬度接口【基于Google map API】</title>
		<link>http://www.js8.in/342.html</link>
		<comments>http://www.js8.in/342.html#comments</comments>
		<pubDate>Sat, 21 Nov 2009 08:21:09 +0000</pubDate>
		<dc:creator>断桥残雪</dc:creator>
				<category><![CDATA[网络技术]]></category>
		<category><![CDATA[API接口]]></category>
		<category><![CDATA[google Map]]></category>
		<category><![CDATA[经纬度]]></category>

		<guid isPermaLink="false">http://www.js8.in/342.html</guid>
		<description><![CDATA[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&#40;&#41;;geocoder.getLocations&#40;
          '山东青岛',
        function&#40;$&#41;&#123;
var lalton = $.Placemark&#91;0&#93;.Point.coordinates;
alert&#40;latlon&#91;0&#93;+&#34;,&#34;+latlon&#91;1&#93;&#41;;
&#125;&#41;;

可是对于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=关键词（如山东青岛）&#038;key=刚刚申请的API KEY&#038;sensor=false&#038;output=xml&#038;oe=utf8
请求下来的数据时kml的数据格式，怎样解析呢？
我们可以使用xml的方式来进行解析，这里我提供一个解析的php代码，代码来自于wp的一个插件
第一个函数是xml2array()，这个函数的作用就是把xml转换为数组便于操作
参数$url为请求的xml地址，返回的是一个xml转换成的数组

//from http://us3.php.net/manual/en/function.xml-parse.php
function xml2array&#40;$url, $get_attributes = 1, $priority = 'tag'&#41;
&#123;
    $contents = &#34;&#34;;
    if [...]]]></description>
			<content:encoded><![CDATA[<p>P.S：在本文章中您将找到根据城市关键词获取经纬度的方法，即就是通过google map API的逆经纬度查询接口获得经纬度。<br />
<strong>google map api</strong>是一个强大的地图API，很多知名的网站都是用了google地图API，曾经我也写过一个根据来访者甚至域名来查询经纬度的程序（<a href="http://www.js8.in/mywork/ipsearch">http://www.js8.in/mywork/ipsearch</a>）。文章链接地址为：<a href="http://www.js8.in/308.html">根据IP返回地理位置地址以及地理经纬度的方法</a>，关于经纬度的其他文章可以参考<a href="http://www.js8.in/285.html">全国各省市，县级城市经纬度SQL数据以及<strong>js数组</strong></a><br />
其中使用的是纯真IP数据库，已经google地图的逆经纬度查询~<br />
而本例中我们实现的主要方式是php如何获得关键字的经纬度。<br />
使用过Google map API的人都知道google有一个逆经纬度查询的接口，例如：</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">geocoder <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> GClientGeocoder<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>geocoder.<span style="color: #660066;">getLocations</span><span style="color: #009900;">&#40;</span>
          <span style="color: #3366CC;">'山东青岛'</span><span style="color: #339933;">,</span>
        <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>$<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
<span style="color: #003366; font-weight: bold;">var</span> lalton <span style="color: #339933;">=</span> $.<span style="color: #660066;">Placemark</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span>.<span style="color: #660066;">Point</span>.<span style="color: #660066;">coordinates</span><span style="color: #339933;">;</span>
<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span>latlon<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">+</span><span style="color: #3366CC;">&quot;,&quot;</span><span style="color: #339933;">+</span>latlon<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>可是对于php应该怎样获取<strong>经纬度</strong>呢？<br />
今天在无意的时候看到一个wp的插件，其中找到了方法，就是通过google map API的逆经纬度查询接口获得经纬度~<br />
首先你需要去http://code.google.com/intl/zh-CN/apis/maps/signup.html申请一个google map api的授权域名<strong>key</strong>，<br />
google的map api逆经纬度接口为：<br />
http://maps.google.com/maps/geo?q=关键词（如山东青岛）&#038;key=刚刚申请的API KEY&#038;sensor=false&#038;output=xml&#038;oe=utf8<br />
请求下来的数据时kml的数据格式，怎样解析呢？<br />
<span id="more-342"></span>我们可以使用<strong>xml</strong>的方式来进行解析，这里我提供一个解析的<strong>php</strong>代码，代码来自于wp的一个插件<br />
第一个函数是xml2array()，这个函数的作用就是把xml转换为数组便于操作<br />
参数$url为请求的xml地址，返回的是一个xml转换成的数组</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">//from http://us3.php.net/manual/en/function.xml-parse.php</span>
<span style="color: #000000; font-weight: bold;">function</span> xml2array<span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #339933;">,</span> <span style="color: #000088;">$get_attributes</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #000088;">$priority</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'tag'</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$contents</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">function_exists</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'xml_parser_create'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #990000;">array</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #000088;">$parser</span> <span style="color: #339933;">=</span> <span style="color: #990000;">xml_parser_create</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">''</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span> <span style="color: #339933;">=</span> <span style="color: #339933;">@</span> <span style="color: #990000;">fopen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'rb'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #990000;">array</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">feof</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$contents</span> <span style="color: #339933;">.=</span> <span style="color: #990000;">fread</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">8192</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #990000;">fclose</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #990000;">xml_parser_set_option</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$parser</span><span style="color: #339933;">,</span> XML_OPTION_TARGET_ENCODING<span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;UTF-8&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #990000;">xml_parser_set_option</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$parser</span><span style="color: #339933;">,</span> XML_OPTION_CASE_FOLDING<span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #990000;">xml_parser_set_option</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$parser</span><span style="color: #339933;">,</span> XML_OPTION_SKIP_WHITE<span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #990000;">xml_parse_into_struct</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$parser</span><span style="color: #339933;">,</span> <span style="color: #990000;">trim</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$contents</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$xml_values</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #990000;">xml_parser_free</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$parser</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$xml_values</span><span style="color: #009900;">&#41;</span>
        <span style="color: #b1b100;">return</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//Hmm...</span>
    <span style="color: #000088;">$xml_array</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$parents</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$opened_tags</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$arr</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$current</span> <span style="color: #339933;">=</span> <span style="color: #339933;">&amp;</span> <span style="color: #000088;">$xml_array</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$repeated_tag_index</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$xml_values</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$data</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #990000;">unset</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$attributes</span><span style="color: #339933;">,</span> <span style="color: #000088;">$value</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #990000;">extract</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$attributes_data</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$value</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#123;</span>
            <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$priority</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'tag'</span><span style="color: #009900;">&#41;</span>
                <span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$value</span><span style="color: #339933;">;</span>
            <span style="color: #b1b100;">else</span>
                <span style="color: #000088;">$result</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'value'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$value</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$attributes</span><span style="color: #009900;">&#41;</span> and <span style="color: #000088;">$get_attributes</span><span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#123;</span>
            <span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$attributes</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$attr</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$val</span><span style="color: #009900;">&#41;</span>
            <span style="color: #009900;">&#123;</span>
                <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$priority</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'tag'</span><span style="color: #009900;">&#41;</span>
                    <span style="color: #000088;">$attributes_data</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$attr</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$val</span><span style="color: #339933;">;</span>
                <span style="color: #b1b100;">else</span>
                    <span style="color: #000088;">$result</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'attr'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$attr</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$val</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//Set all the attributes in a array called 'attr'</span>
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$type</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">&quot;open&quot;</span><span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$parent</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$level</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #339933;">&amp;</span> <span style="color: #000088;">$current</span><span style="color: #339933;">;</span>
            <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">is_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#41;</span> or <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">in_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$tag</span><span style="color: #339933;">,</span> <span style="color: #990000;">array_keys</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
            <span style="color: #009900;">&#123;</span>
                <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$tag</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$result</span><span style="color: #339933;">;</span>
                <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$attributes_data</span><span style="color: #009900;">&#41;</span>
                    <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$tag</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'_attr'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$attributes_data</span><span style="color: #339933;">;</span>
                <span style="color: #000088;">$repeated_tag_index</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$tag</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'_'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$level</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
                <span style="color: #000088;">$current</span> <span style="color: #339933;">=</span> <span style="color: #339933;">&amp;</span> <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$tag</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
            <span style="color: #b1b100;">else</span>
            <span style="color: #009900;">&#123;</span>
                <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$tag</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
                <span style="color: #009900;">&#123;</span>
                    <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$tag</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$repeated_tag_index</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$tag</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'_'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$level</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$result</span><span style="color: #339933;">;</span>
                    <span style="color: #000088;">$repeated_tag_index</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$tag</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'_'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$level</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">++;</span>
                <span style="color: #009900;">&#125;</span>
                <span style="color: #b1b100;">else</span>
                <span style="color: #009900;">&#123;</span>
                    <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$tag</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span> <span style="color: #009900;">&#40;</span>
                        <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$tag</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>
                        <span style="color: #000088;">$result</span>
                    <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                    <span style="color: #000088;">$repeated_tag_index</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$tag</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'_'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$level</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span>
                    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$tag</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'_attr'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
                    <span style="color: #009900;">&#123;</span>
                        <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$tag</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'0_attr'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$tag</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'_attr'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
                        <span style="color: #990000;">unset</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$tag</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'_attr'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                    <span style="color: #009900;">&#125;</span>
                <span style="color: #009900;">&#125;</span>
                <span style="color: #000088;">$last_item_index</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$repeated_tag_index</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$tag</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'_'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$level</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">-</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
                <span style="color: #000088;">$current</span> <span style="color: #339933;">=</span> <span style="color: #339933;">&amp;</span> <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$tag</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$last_item_index</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #b1b100;">elseif</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$type</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">&quot;complete&quot;</span><span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#123;</span>
            <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">isset</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$tag</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
            <span style="color: #009900;">&#123;</span>
                <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$tag</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$result</span><span style="color: #339933;">;</span>
                <span style="color: #000088;">$repeated_tag_index</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$tag</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'_'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$level</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
                <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$priority</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'tag'</span> and <span style="color: #000088;">$attributes_data</span><span style="color: #009900;">&#41;</span>
                    <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$tag</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'_attr'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$attributes_data</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
            <span style="color: #b1b100;">else</span>
            <span style="color: #009900;">&#123;</span>
                <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$tag</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> and <span style="color: #990000;">is_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$tag</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
                <span style="color: #009900;">&#123;</span>
                    <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$tag</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$repeated_tag_index</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$tag</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'_'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$level</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$result</span><span style="color: #339933;">;</span>
                    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$priority</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'tag'</span> and <span style="color: #000088;">$get_attributes</span> and <span style="color: #000088;">$attributes_data</span><span style="color: #009900;">&#41;</span>
                    <span style="color: #009900;">&#123;</span>
                    <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$tag</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$repeated_tag_index</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$tag</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'_'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$level</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'_attr'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$attributes_data</span><span style="color: #339933;">;</span>
                    <span style="color: #009900;">&#125;</span>
                    <span style="color: #000088;">$repeated_tag_index</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$tag</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'_'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$level</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">++;</span>
                <span style="color: #009900;">&#125;</span>
                <span style="color: #b1b100;">else</span>
                <span style="color: #009900;">&#123;</span>
                    <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$tag</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span> <span style="color: #009900;">&#40;</span>
                        <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$tag</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>
                        <span style="color: #000088;">$result</span>
                    <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                    <span style="color: #000088;">$repeated_tag_index</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$tag</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'_'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$level</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
                    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$priority</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'tag'</span> and <span style="color: #000088;">$get_attributes</span><span style="color: #009900;">&#41;</span>
                    <span style="color: #009900;">&#123;</span>
                        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$tag</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'_attr'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
                        <span style="color: #009900;">&#123;</span>
                            <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$tag</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'0_attr'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$tag</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'_attr'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
                            <span style="color: #990000;">unset</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$tag</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'_attr'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                        <span style="color: #009900;">&#125;</span>
                        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$attributes_data</span><span style="color: #009900;">&#41;</span>
                        <span style="color: #009900;">&#123;</span>
                            <span style="color: #000088;">$current</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$tag</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$repeated_tag_index</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$tag</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'_'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$level</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'_attr'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$attributes_data</span><span style="color: #339933;">;</span>
                        <span style="color: #009900;">&#125;</span>
                    <span style="color: #009900;">&#125;</span>
                    <span style="color: #000088;">$repeated_tag_index</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$tag</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'_'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$level</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">++;</span> <span style="color: #666666; font-style: italic;">//0 and 1 index is already taken</span>
                <span style="color: #009900;">&#125;</span>
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #b1b100;">elseif</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$type</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'close'</span><span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$current</span> <span style="color: #339933;">=</span> <span style="color: #339933;">&amp;</span> <span style="color: #000088;">$parent</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$level</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$xml_array</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>第二个函数getPoiAndAdd($address,$mapkey):<br />
$address为查询的关键词，地址就可以啦，$mapkey为你申请的google map api key，<br />
返回的是一个数组，其中包括了经纬度以及详细地址哦~</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> gmshc_point <span style="color: #009900;">&#40;</span><span style="color: #000088;">$address</span><span style="color: #339933;">,</span><span style="color: #000088;">$apikey</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$find</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\r</span>&quot;</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot; &quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$replace</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;+&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>					
    <span style="color: #000088;">$address</span> <span style="color: #339933;">=</span> <span style="color: #990000;">str_replace</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$find</span><span style="color: #339933;">,</span><span style="color: #000088;">$replace</span><span style="color: #339933;">,</span> <span style="color: #000088;">$address</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$url</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'http://maps.google.com/maps/geo?q='</span><span style="color: #339933;">.</span><span style="color: #000088;">$address</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&amp;key='</span><span style="color: #339933;">.</span><span style="color: #000088;">$apikey</span><span style="color: #339933;">.</span>
         <span style="color: #0000ff;">'&amp;sensor=false&amp;output=xml&amp;oe=utf8'</span><span style="color: #339933;">;</span>	
	<span style="color: #000088;">$response</span> <span style="color: #339933;">=</span> xml2array<span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>	<span style="color: #666666; font-style: italic;">//此处调用都一个函数进行解析</span>
	<span style="color: #000088;">$coordinates</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$response</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'kml'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'Response'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'Placemark'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'Point'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'coordinates'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$address</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$response</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'kml'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'Response'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'Placemark'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'address'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>	
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$coordinates</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>	
	<span style="color: #000088;">$point_array</span> <span style="color: #339933;">=</span> <span style="color: #990000;">split</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;,&quot;</span><span style="color: #339933;">,</span><span style="color: #000088;">$coordinates</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>	
	<span style="color: #000088;">$point</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$point_array</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;,&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$point_array</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$response</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'point'</span><span style="color: #339933;">=&gt;</span><span style="color: #000088;">$point</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'address'</span><span style="color: #339933;">=&gt;</span><span style="color: #000088;">$address</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>	
	<span style="color: #b1b100;">return</span>  <span style="color: #000088;">$response</span><span style="color: #339933;">;</span>	
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<div class="copyright"><span class="fav"><span class="icon"></span><span><strong>收藏本文到：</strong><a target="_blank" rel="nofollow" href="http://shuqian.qq.com/post?title=php、js两种不同方式根据关键词返回经纬度接口【基于Google map API】&#038; uri=http://www.js8.in/342.html" title="收藏本文到QQ书签" target="_blank">QQ书签</a> | <a target="_blank" rel="nofollow" href="http://www.google.com/bookmarks/mark?op=add&#038;hl=zh_cn&#038;title=php、js两种不同方式根据关键词返回经纬度接口【基于Google map API】&#038;bkmk=http://www.js8.in/342.html" title="收藏本文到Google书签" target="_blank">Google书签</a> | <a target="_blank" rel="nofollow" href="http://cang.baidu.com/do/add?it=php、js两种不同方式根据关键词返回经纬度接口【基于Google map API】&#038;iu=http://www.js8.in/342.html" title="收藏本文到百度搜藏" target="_blank">百度搜藏</a> | <a target="_blank" rel="nofollow" href=" http://share.renren.com/share/buttonshare.do?link=http://www.js8.in/342.html&#038;title=php、js两种不同方式根据关键词返回经纬度接口【基于Google map API】" title="收藏本文到人人网" target="_blank">人人网</a> | <a target="_blank" rel="nofollow" href="http://www.douban.com/recommend/?url=http://www.js8.in/342.html&#038;title=php、js两种不同方式根据关键词返回经纬度接口【基于Google map API】" title="收藏本文到豆瓣" target="_blank">豆瓣</a> | <a target="_blank" rel="nofollow" href="http://www.kaixin001.com/repaste/share.php?rtitle=php、js两种不同方式根据关键词返回经纬度接口【基于Google map API】&#038;rurl=http://www.js8.in/342.html" title="收藏本文到开心网" target="_blank">开心网</a> | <a target="_blank" rel="nofollow" href="http://myweb.cn.yahoo.com/popadd.html?title=php、js两种不同方式根据关键词返回经纬度接口【基于Google map API】&#038;url=http://www.js8.in/342.html" title="收藏本文到Yahoo收藏" target="_blank">Yahoo收藏</a> | <a target="_blank" rel="nofollow" href="http://vivi.sina.com.cn/collect/icollect.php?title=php、js两种不同方式根据关键词返回经纬度接口【基于Google map API】&#038;url=http://www.js8.in/342.html" title="收藏到新浪ViVi" target="_blank">新浪ViVi</a> | <a target="_blank" rel="nofollow" href="http://leshou.com/post?act=shou&#038;title=php、js两种不同方式根据关键词返回经纬度接口【基于Google map API】&#038;url=http://www.js8.in/342.html" title="收藏本文到乐收" target="_blank">乐收</a></span></span><span><span class="icon"></span><span><strong>声明：</strong>文章未声明为原创文章，本文链接 <a rel="external nofollow" href="http://www.js8.in/342.html" title="php、js两种不同方式根据关键词返回经纬度接口【基于Google map API】">http://www.js8.in/342.html</a>. 转载请注明转自<a rel="bookmark inlinks" href="http://www.js8.in" title="Theo Wong来自于青岛普加智能有限公司"> JS8.IN ™</a></span></span></div>
<h3>相关文章</h3>
<ul class="related_posts">
<li><a href="http://www.js8.in/566.html" title="利用GControl和GLayer对象在地图上显示panoramio图片" rel="bookmark inlinks">利用GControl和GLayer对象在地图上显示panoramio图片</a></li>
<li><a href="http://www.js8.in/278.html" title="jQuery+google weather API轻松实现天气地图（一）" rel="bookmark inlinks">jQuery+google weather API轻松实现天气地图（一）</a></li>
<li><a href="http://www.js8.in/564.html" title="Google Map API教程之使用GControl对象在地图上添加control按钮" rel="bookmark inlinks">Google Map API教程之使用GControl对象在地图上添加control按钮</a></li>
<li><a href="http://www.js8.in/562.html" title="Google Map API教程之如何自动缩放级别（setAutoZoom）" rel="bookmark inlinks">Google Map API教程之如何自动缩放级别（setAutoZoom）</a></li>
<li><a href="http://www.js8.in/349.html" title="发布一个Follow5的API PHP类" rel="bookmark inlinks">发布一个Follow5的API PHP类</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.js8.in/342.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>根据IP返回地理位置地址以及地理经纬度的方法</title>
		<link>http://www.js8.in/308.html</link>
		<comments>http://www.js8.in/308.html#comments</comments>
		<pubDate>Wed, 28 Oct 2009 09:58:27 +0000</pubDate>
		<dc:creator>断桥残雪</dc:creator>
				<category><![CDATA[网络技术]]></category>
		<category><![CDATA[google Map]]></category>
		<category><![CDATA[IP]]></category>
		<category><![CDATA[经纬度]]></category>

		<guid isPermaLink="false">http://www.js8.in/?p=308</guid>
		<description><![CDATA[今天做了一个基于Google地图的根据IP返回地理位置的接口，效果演示地址：http://www.js8.in/mywork/ipsearch/
可以输入域名，如：www.2fool.cn，既可以返回地理位置，并且把地理位置定位到Google地图上，并且在地图上打开气泡显示经纬度。
效果图：

关于这个IP查询接口的调用方法：http://www.js8.in/mywork/ipsearch/ipsearch.php?ip=你要查询的IP地址或者域名（如www.2fool.cn）
程序说明：
1、IP数据库采用了纯真IP数据库10.25日最新版，可能有时间就更新一下数据库内容。
2、获取的经纬度是根据Google的地图接口，返回的数据~对于国内的经纬度应该有一定的偏移（国家法律规定的），但是在Google上使用应该是可以的~
收藏本文到：QQ书签 &#124; Google书签 &#124; 百度搜藏 &#124; 人人网 &#124; 豆瓣 &#124; 开心网 &#124; Yahoo收藏 &#124; 新浪ViVi &#124; 乐收声明：文章未声明为原创文章，本文链接 http://www.js8.in/308.html. 转载请注明转自 JS8.IN ™
相关文章

Google Map API教程之如何自动缩放级别（setAutoZoom）
Google Map API教程之使用GControl对象在地图上添加control按钮
php、js两种不同方式根据关键词返回经纬度接口【基于Google map API】
php获取来访者IP信息
jQuery+google weather API轻松实现天气地图（二）

]]></description>
			<content:encoded><![CDATA[<p>今天做了一个<a href="http://www.js8.in/mywork/ipsearch/" target="_blank">基于<strong>Google</strong>地图的根据IP返回地理位置的接口</a>，效果演示地址：http://www.js8.in/mywork/ipsearch/</p>
<p>可以输入域名，如：www.2fool.cn，既可以返回<strong>地理位置</strong>，并且把地理位置定位到Google地图上，并且在地图上打开气泡显示经纬度。</p>
<p>效果图：<br />
<a href="http://www.js8.in/mywork/ipsearch/" target="_blank"><img class="alignnone size-medium wp-image-309" title="根据IP返回地理位置接口" src="http://www.js8.in/wp-content/uploads/2009/10/Snap1-300x240.jpg" alt="根据IP返回地理位置接口" width="366" height="267" /></a></p>
<p>关于这个<strong>IP查询</strong>接口的调用方法：http://www.js8.in/mywork/ipsearch/ipsearch.php?ip=你要查询的IP地址或者域名（如www.2fool.cn）</p>
<p>程序说明：</p>
<p>1、IP数据库采用了纯真IP数据库10.25日最新版，可能有时间就更新一下数据库内容。<br />
2、获取的经纬度是根据Google的地图接口，返回的数据~对于国内的<strong>经纬度</strong>应该有一定的偏移（国家法律规定的），但是在Google上使用应该是可以的~
<div class="copyright"><span class="fav"><span class="icon"></span><span><strong>收藏本文到：</strong><a target="_blank" rel="nofollow" href="http://shuqian.qq.com/post?title=根据IP返回地理位置地址以及地理经纬度的方法&#038; uri=http://www.js8.in/308.html" title="收藏本文到QQ书签" target="_blank">QQ书签</a> | <a target="_blank" rel="nofollow" href="http://www.google.com/bookmarks/mark?op=add&#038;hl=zh_cn&#038;title=根据IP返回地理位置地址以及地理经纬度的方法&#038;bkmk=http://www.js8.in/308.html" title="收藏本文到Google书签" target="_blank">Google书签</a> | <a target="_blank" rel="nofollow" href="http://cang.baidu.com/do/add?it=根据IP返回地理位置地址以及地理经纬度的方法&#038;iu=http://www.js8.in/308.html" title="收藏本文到百度搜藏" target="_blank">百度搜藏</a> | <a target="_blank" rel="nofollow" href=" http://share.renren.com/share/buttonshare.do?link=http://www.js8.in/308.html&#038;title=根据IP返回地理位置地址以及地理经纬度的方法" title="收藏本文到人人网" target="_blank">人人网</a> | <a target="_blank" rel="nofollow" href="http://www.douban.com/recommend/?url=http://www.js8.in/308.html&#038;title=根据IP返回地理位置地址以及地理经纬度的方法" title="收藏本文到豆瓣" target="_blank">豆瓣</a> | <a target="_blank" rel="nofollow" href="http://www.kaixin001.com/repaste/share.php?rtitle=根据IP返回地理位置地址以及地理经纬度的方法&#038;rurl=http://www.js8.in/308.html" title="收藏本文到开心网" target="_blank">开心网</a> | <a target="_blank" rel="nofollow" href="http://myweb.cn.yahoo.com/popadd.html?title=根据IP返回地理位置地址以及地理经纬度的方法&#038;url=http://www.js8.in/308.html" title="收藏本文到Yahoo收藏" target="_blank">Yahoo收藏</a> | <a target="_blank" rel="nofollow" href="http://vivi.sina.com.cn/collect/icollect.php?title=根据IP返回地理位置地址以及地理经纬度的方法&#038;url=http://www.js8.in/308.html" title="收藏到新浪ViVi" target="_blank">新浪ViVi</a> | <a target="_blank" rel="nofollow" href="http://leshou.com/post?act=shou&#038;title=根据IP返回地理位置地址以及地理经纬度的方法&#038;url=http://www.js8.in/308.html" title="收藏本文到乐收" target="_blank">乐收</a></span></span><span><span class="icon"></span><span><strong>声明：</strong>文章未声明为原创文章，本文链接 <a rel="external nofollow" href="http://www.js8.in/308.html" title="根据IP返回地理位置地址以及地理经纬度的方法">http://www.js8.in/308.html</a>. 转载请注明转自<a rel="bookmark inlinks" href="http://www.js8.in" title="Theo Wong来自于青岛普加智能有限公司"> JS8.IN ™</a></span></span></div>
<h3>相关文章</h3>
<ul class="related_posts">
<li><a href="http://www.js8.in/564.html" title="Google Map API教程之使用GControl对象在地图上添加control按钮" rel="bookmark inlinks">Google Map API教程之使用GControl对象在地图上添加control按钮</a></li>
<li><a href="http://www.js8.in/509.html" title="php获取来访者IP信息" rel="bookmark inlinks">php获取来访者IP信息</a></li>
<li><a href="http://www.js8.in/566.html" title="利用GControl和GLayer对象在地图上显示panoramio图片" rel="bookmark inlinks">利用GControl和GLayer对象在地图上显示panoramio图片</a></li>
<li><a href="http://www.js8.in/285.html" title="全国各省市，县级城市经纬度SQL数据以及js数组" rel="bookmark inlinks">全国各省市，县级城市经纬度SQL数据以及js数组</a></li>
<li><a href="http://www.js8.in/342.html" title="php、js两种不同方式根据关键词返回经纬度接口【基于Google map API】" rel="bookmark inlinks">php、js两种不同方式根据关键词返回经纬度接口【基于Google map API】</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.js8.in/308.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery+google weather API轻松实现天气地图（二）</title>
		<link>http://www.js8.in/283.html</link>
		<comments>http://www.js8.in/283.html#comments</comments>
		<pubDate>Mon, 19 Oct 2009 02:15:31 +0000</pubDate>
		<dc:creator>断桥残雪</dc:creator>
				<category><![CDATA[网络技术]]></category>
		<category><![CDATA[google Map]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://www.js8.in/?p=283</guid>
		<description><![CDATA[原理：通过来输入的关键词查询出城市的经纬度，然后调用google的weather接口，查出城市的天气情况，根据xml解析出来的结果返货json格式，便于代码的传输~！
这里我使用的是MapBar的地图免费API，其他的如：Google 就不做说明了～方法类似～截图如下：现在把Mysql.php的全部代码，使用了simpleXML对Google返回的数据进行解析：PS：关于各个城市的经纬度数据，请阅览：全国各省市，县级城市经纬度SQL数据以及js数组

&#60;?php
  include&#40;&#34;conn.php&#34;&#41;;
$strsql=&#34;select * from latlon where name=’&#34;.$_GET&#91;'city'&#93;.&#34;’&#34;;
    $result=mysql_db_query&#40;$mysql_database, $strsql, $conn&#41;;
    // u83b7u53d6u67e5u8be2u7ed3u679c,1 = name 2= latlon 3=weidu 4 = jingdu
    $row=mysql_fetch_row&#40;$result&#41;;
    mysql_data_seek&#40;$result, 0&#41;;
    $row=mysql_fetch_row&#40;$result&#41;;
    if&#40;empty&#40;$row&#91;1&#93;&#41;&#41;&#123;
        $re =array&#40;  [...]]]></description>
			<content:encoded><![CDATA[<p>原理：通过来输入的关键词查询出<strong>城市</strong>的经纬度，然后调用google的<strong>weather</strong>接口，查出城市的天气情况，根据<strong>xml</strong>解析出来的结果返货<strong>json</strong>格式，便于代码的传输~！</p>
<p>这里我使用的是<strong>MapBar</strong>的地图免费API，其他的如：<strong>Google </strong>就不做说明了～方法类似～截图如下：<br /><a target="_blank" target="_blank" href="/uploads/userup/0905/021309521305.png"><img style="WIDTH: 512px; HEIGHT: 331px" alt="" border="0" src="/uploads/userup/0905/021309521305.png" /></a><br />现在把Mysql.php的全部代码，使用了simpleXML对Google返回的数据进行解析：<br />PS：关于各个城市的<strong>经纬度</strong>数据，请阅览：<a href="http://www.js8.in/285.html">全国各省市，县级城市经纬度<strong>SQL数据</strong>以及js数组</a></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
  <span style="color: #b1b100;">include</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;conn.php&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$strsql</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;select * from latlon where name=’&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'city'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;’&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$result</span><span style="color: #339933;">=</span><span style="color: #990000;">mysql_db_query</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$mysql_database</span><span style="color: #339933;">,</span> <span style="color: #000088;">$strsql</span><span style="color: #339933;">,</span> <span style="color: #000088;">$conn</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #666666; font-style: italic;">// u83b7u53d6u67e5u8be2u7ed3u679c,1 = name 2= latlon 3=weidu 4 = jingdu</span>
    <span style="color: #000088;">$row</span><span style="color: #339933;">=</span><span style="color: #990000;">mysql_fetch_row</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #990000;">mysql_data_seek</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$row</span><span style="color: #339933;">=</span><span style="color: #990000;">mysql_fetch_row</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$re</span> <span style="color: #339933;">=</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>        <span style="color: #0000ff;">&quot;noCity&quot;</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">&quot;no data&quot;</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">&quot;yes&quot;</span><span style="color: #339933;">=&gt;</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span>
    <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #b1b100;">else</span><span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$nlatlon</span><span style="color: #339933;">=</span> <span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">4</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span>’<span style="color: #339933;">,</span>’<span style="color: #339933;">.</span><span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$back</span><span style="color: #339933;">=</span><span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">*</span><span style="color: #cc66cc;">1000000</span>
<span style="color: #339933;">.</span><span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">4</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">*</span><span style="color: #cc66cc;">1000000</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$url</span><span style="color: #339933;">=</span>’http<span style="color: #339933;">:</span><span style="color: #666666; font-style: italic;">//www.google.com/ig/api?weather=,,,’.$back;</span>
<span style="color: #000088;">$xml</span> <span style="color: #339933;">=</span>  <span style="color: #990000;">simplexml_load_file</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$re</span><span style="color: #339933;">=</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
    <span style="color: #0000ff;">&quot;yes&quot;</span><span style="color: #339933;">=&gt;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>
<span style="color: #0000ff;">&quot;today&quot;</span> <span style="color: #339933;">=&gt;</span><span style="color: #009900;">&#40;</span>string<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$xml</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">weather</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">forecast_conditions</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">condition</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'data'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
<span style="color: #0000ff;">&quot;ssd&quot;</span><span style="color: #339933;">=&gt;</span><span style="color: #009900;">&#40;</span>string<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$xml</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">weather</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">current_conditions</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">temp_c</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'data'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
<span style="color: #0000ff;">&quot;sd&quot;</span><span style="color: #339933;">=&gt;</span><span style="color: #009900;">&#40;</span>string<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$xml</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">weather</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">current_conditions</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">humidity</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'data'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
<span style="color: #0000ff;">&quot;fx&quot;</span><span style="color: #339933;">=&gt;</span><span style="color: #009900;">&#40;</span>string<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$xml</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">weather</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">current_conditions</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">wind_condition</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'data'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
<span style="color: #0000ff;">&quot;icon&quot;</span><span style="color: #339933;">=&gt;</span>’http<span style="color: #339933;">:</span><span style="color: #666666; font-style: italic;">//www.google.com’.($xml-&gt;weather-&gt;forecast_conditions[0]-&gt;icon['data']),</span>
<span style="color: #0000ff;">&quot;week1&quot;</span> <span style="color: #339933;">=&gt;</span><span style="color: #009900;">&#40;</span>string<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$xml</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">weather</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">forecast_conditions</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">day_of_week</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'data'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
<span style="color: #0000ff;">&quot;week1zuidi&quot;</span> <span style="color: #339933;">=&gt;</span><span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>string<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$xml</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">weather</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">forecast_conditions</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">low</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'data'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">32</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color:#800080;">1.8</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
<span style="color: #0000ff;">&quot;week1zuigao&quot;</span> <span style="color: #339933;">=&gt;</span><span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>string<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$xml</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">weather</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">forecast_conditions</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">high</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'data'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">32</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color:#800080;">1.8</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
<span style="color: #0000ff;">&quot;week1tianqi&quot;</span> <span style="color: #339933;">=&gt;</span><span style="color: #009900;">&#40;</span>string<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$xml</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">weather</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">forecast_conditions</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">condition</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'data'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
<span style="color: #0000ff;">&quot;week1icon&quot;</span> <span style="color: #339933;">=&gt;</span>’http<span style="color: #339933;">:</span><span style="color: #666666; font-style: italic;">//www.google.com’.($xml-&gt;weather-&gt;forecast_conditions[1]-&gt;icon['data']),</span>
<span style="color: #0000ff;">&quot;week2&quot;</span> <span style="color: #339933;">=&gt;</span><span style="color: #009900;">&#40;</span>string<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$xml</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">weather</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">forecast_conditions</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">day_of_week</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'data'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
<span style="color: #0000ff;">&quot;week2zuidi&quot;</span> <span style="color: #339933;">=&gt;</span><span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>string<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$xml</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">weather</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">forecast_conditions</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">low</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'data'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">32</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color:#800080;">1.8</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
<span style="color: #0000ff;">&quot;week2zuigao&quot;</span> <span style="color: #339933;">=&gt;</span><span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>string<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$xml</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">weather</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">forecast_conditions</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">high</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'data'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">32</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color:#800080;">1.8</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
<span style="color: #0000ff;">&quot;week2tianqi&quot;</span> <span style="color: #339933;">=&gt;</span><span style="color: #009900;">&#40;</span>string<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$xml</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">weather</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">forecast_conditions</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">condition</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'data'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
<span style="color: #0000ff;">&quot;week2icon&quot;</span> <span style="color: #339933;">=&gt;</span>’http<span style="color: #339933;">:</span><span style="color: #666666; font-style: italic;">//www.google.com’.($xml-&gt;weather-&gt;forecast_conditions[2]-&gt;icon['data']),</span>
<span style="color: #0000ff;">&quot;week3&quot;</span> <span style="color: #339933;">=&gt;</span><span style="color: #009900;">&#40;</span>string<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$xml</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">weather</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">forecast_conditions</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">day_of_week</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'data'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
<span style="color: #0000ff;">&quot;week3zuidi&quot;</span> <span style="color: #339933;">=&gt;</span><span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>string<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$xml</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">weather</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">forecast_conditions</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">low</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'data'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">32</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color:#800080;">1.8</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
<span style="color: #0000ff;">&quot;week3zuigao&quot;</span> <span style="color: #339933;">=&gt;</span><span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>string<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$xml</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">weather</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">forecast_conditions</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">high</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'data'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">32</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color:#800080;">1.8</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
<span style="color: #0000ff;">&quot;week3tianqi&quot;</span> <span style="color: #339933;">=&gt;</span><span style="color: #009900;">&#40;</span>string<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$xml</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">weather</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">forecast_conditions</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">condition</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'data'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
<span style="color: #0000ff;">&quot;week3icon&quot;</span> <span style="color: #339933;">=&gt;</span>’http<span style="color: #339933;">:</span><span style="color: #666666; font-style: italic;">//www.google.com’.($xml-&gt;weather-&gt;forecast_conditions[3]-&gt;icon['data']),</span>
<span style="color: #0000ff;">&quot;nlatlon&quot;</span> <span style="color: #339933;">=&gt;</span><span style="color: #000088;">$nlatlon</span><span style="color: #339933;">,</span>
<span style="color: #0000ff;">&quot;googleurl&quot;</span><span style="color: #339933;">=&gt;</span><span style="color: #000088;">$url</span><span style="color: #339933;">,</span>
<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #990000;">json_encode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$re</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #990000;">mysql_free_result</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">mysql_close</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$conn</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<div class="copyright"><span class="fav"><span class="icon"></span><span><strong>收藏本文到：</strong><a target="_blank" rel="nofollow" href="http://shuqian.qq.com/post?title=jQuery+google weather API轻松实现天气地图（二）&#038; uri=http://www.js8.in/283.html" title="收藏本文到QQ书签" target="_blank">QQ书签</a> | <a target="_blank" rel="nofollow" href="http://www.google.com/bookmarks/mark?op=add&#038;hl=zh_cn&#038;title=jQuery+google weather API轻松实现天气地图（二）&#038;bkmk=http://www.js8.in/283.html" title="收藏本文到Google书签" target="_blank">Google书签</a> | <a target="_blank" rel="nofollow" href="http://cang.baidu.com/do/add?it=jQuery+google weather API轻松实现天气地图（二）&#038;iu=http://www.js8.in/283.html" title="收藏本文到百度搜藏" target="_blank">百度搜藏</a> | <a target="_blank" rel="nofollow" href=" http://share.renren.com/share/buttonshare.do?link=http://www.js8.in/283.html&#038;title=jQuery+google weather API轻松实现天气地图（二）" title="收藏本文到人人网" target="_blank">人人网</a> | <a target="_blank" rel="nofollow" href="http://www.douban.com/recommend/?url=http://www.js8.in/283.html&#038;title=jQuery+google weather API轻松实现天气地图（二）" title="收藏本文到豆瓣" target="_blank">豆瓣</a> | <a target="_blank" rel="nofollow" href="http://www.kaixin001.com/repaste/share.php?rtitle=jQuery+google weather API轻松实现天气地图（二）&#038;rurl=http://www.js8.in/283.html" title="收藏本文到开心网" target="_blank">开心网</a> | <a target="_blank" rel="nofollow" href="http://myweb.cn.yahoo.com/popadd.html?title=jQuery+google weather API轻松实现天气地图（二）&#038;url=http://www.js8.in/283.html" title="收藏本文到Yahoo收藏" target="_blank">Yahoo收藏</a> | <a target="_blank" rel="nofollow" href="http://vivi.sina.com.cn/collect/icollect.php?title=jQuery+google weather API轻松实现天气地图（二）&#038;url=http://www.js8.in/283.html" title="收藏到新浪ViVi" target="_blank">新浪ViVi</a> | <a target="_blank" rel="nofollow" href="http://leshou.com/post?act=shou&#038;title=jQuery+google weather API轻松实现天气地图（二）&#038;url=http://www.js8.in/283.html" title="收藏本文到乐收" target="_blank">乐收</a></span></span><span><span class="icon"></span><span><strong>声明：</strong>文章未声明为原创文章，本文链接 <a rel="external nofollow" href="http://www.js8.in/283.html" title="jQuery+google weather API轻松实现天气地图（二）">http://www.js8.in/283.html</a>. 转载请注明转自<a rel="bookmark inlinks" href="http://www.js8.in" title="Theo Wong来自于青岛普加智能有限公司"> JS8.IN ™</a></span></span></div>
<h3>相关文章</h3>
<ul class="related_posts">
<li><a href="http://www.js8.in/238.html" title="真正的jQuery的radio与checkbox取值" rel="bookmark inlinks">真正的jQuery的radio与checkbox取值</a></li>
<li><a href="http://www.js8.in/498.html" title="jQuery实现拖拽功能" rel="bookmark inlinks">jQuery实现拖拽功能</a></li>
<li><a href="http://www.js8.in/454.html" title="jQuery 1.4的十五大新功能实例精讲" rel="bookmark inlinks">jQuery 1.4的十五大新功能实例精讲</a></li>
<li><a href="http://www.js8.in/507.html" title="25大实用的jQuery技巧和解决方案" rel="bookmark inlinks">25大实用的jQuery技巧和解决方案</a></li>
<li><a href="http://www.js8.in/346.html" title="Wordpress Follow5 插件开发日记—插件后台Ajax应用及jQuery的使用" rel="bookmark inlinks">Wordpress Follow5 插件开发日记—插件后台Ajax应用及jQuery的使用</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.js8.in/283.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
