2013-05-01 105 views
-1

我使用THIS真棒库for codeigniter。 我有一个网站(http://kees.een-site-bouwen.nl),当用户第一次访问他们必须填写他们的邮政编码和半径的页面。 (这还没有做任何事情)。 邮政编码和半径被保存为cookie并显示在搜索栏的主页上。使用codeigniter google-maps-api-v3-library的邮政编码搜索

我也有工厂存储在我的数据库的表中。

表看起来是这样的:

factories 
--------- 
idfactories 
factoryname 
address 
postcode 
city 
website 
email 
... 
... 

我怎么能搜索工厂根据我存储在表中的邮编是多少?

希望这是一个清楚我想做什么。

+0

可能重复(http://stackoverflow.com/questions/5755905/radius-nearest-results-google-maps-api) – stormdrain 2013-05-01 13:36:36

+0

不,没有。这个问题比我更进一步。我只是需要知道我问了什么。 – 2013-05-01 14:35:39

回答

0

Maps API没有原生的邮政编码支持。你必须做一些事情,比如映射所有工厂的经纬度,然后做半径搜索。在标记为重复的帖子中,有一个jsfiddle示例显示了圆圈/半径搜索的工作原理 - 只需在工厂中更改位置数组。

function createRadius(dist) { 
    var myCircle = new google.maps.Circle({ 
     center: markerArray[markerArray.length - 1].getPosition(), 
     map: map, 
     radius: dist, 
     strokeColor: "#FF0000", 
     strokeOpacity: 0.8, 
     strokeWeight: 2, 
     fillColor: "#FF0000", 
     fillOpacity: 0.35 
    }); 
    var myBounds = myCircle.getBounds(); 

    //filters markers 
    for(var i=markerArray.length;i--;){ 
     if(!myBounds.contains(markerArray[i].getPosition())) 
      markerArray[i].setMap(null); 
    } 
    map.setCenter(markerArray[markerArray.length - 1].getPosition()); 
    map.setZoom(map.getZoom()+1); 
} 
[半径/最近的结果 - 谷歌地图API]的
+0

谢谢。但我尝试了很多这个API,但它不适合我的需求。我想我只需要下载一个带有postcode和lat/long的数据库,并且只需在mysql中使用带有距离的查询。不管怎么说,还是要谢谢你。 – 2013-05-02 09:33:12

+0

用pro6pp修复了带有几个API的邮编数据库。所以我不再需要这个了 – 2013-05-13 06:42:56