带有过滤器的Google Maps Storelocator(属性)

时间:2013-04-29 09:55:41

标签: php javascript google-maps

我正在使用本教程: https://developers.google.com/maps/articles/phpsqlsearch_v3?hl=de

到目前为止一切正常,但我如何添加一个功能来按属性过滤结果? 谁在这里有什么东西给我?到目前为止我找不到任何东西。

很多,谢谢!

1 个答案:

答案 0 :(得分:0)

创建一个ID为“cat”的选择框:<select id="cat">

将此选择的所选值添加到searchUrl中的function searchLocationsNear

 var e = document.getElementById("cat");
 var cat = e.options[e.selectedIndex].value;

 var searchUrl = 'phpsqlajax_search.php?lat=' + center.lat() + '&lng=' + center.lng() +   '&radius=' + radius;
 searchurl += '&cat=' + cat;

将您的过滤器添加到php sqlsearch_genxml.php中的查询:

// Search the rows in the markers table
$query = sprintf("SELECT address, name, lat, lng, ( 3959 * acos( cos( radians('%s') ) * cos( radians( lat ) ) * cos( radians( lng ) - radians('%s') ) + sin( radians('%s') ) * sin( radians( lat ) ) ) ) AS distance FROM markers  WHERE `category`='%s' HAVING distance < '%s' ORDER BY distance LIMIT 0 , 20",
  mysql_real_escape_string($center_lat),
  mysql_real_escape_string($center_lng),
  mysql_real_escape_string($center_lat),
  mysql_real_escape_string(empty($_GET['cat'])?'':$_GET['cat']))
  mysql_real_escape_string($radius);
$result = mysql_query($query);