我有这个脚本,将在谷歌地图上显示自定义标记,但我想包括一个输入文本框,并能够输入一个城市/州和一个邮政编码,看看是否有任何标记,让我们说400距离该城市/州或邮政编码的里程数.我很乐意,如果地图可以是动态的,那么当你输入城市/州或邮政编码时,它会通过删除所有其他标记并仅留下该半径范围内的标记来显示地图上的结果,如果那太难了,那么一个简单的改变框说单位是最接近的也将是OK :)我搜索并找到一些说我应该加载几何库并computeDistanceBetween()用来找到每个标记距离你的中心点的距离但是我不知道如何做邮政编码部分或如何将所有这些放在一起工作.
这是我的代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title></title>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript" src="http://google-maps-utility-library-v3.googlecode.com/svn/trunk/markerclustererplus/src/markerclusterer.js"></script>
<script type="text/javascript">
var image = new google.maps.MarkerImage("marker-images/image.png",new google.maps.Size(40,35),new google.maps.Point(0,0),new google.maps.Point(20,35));
var shadow = new google.maps.MarkerImage(
'marker-images/shadow.png',
new google.maps.Size(62,35),
new google.maps.Point(0,0),
new google.maps.Point(20,35)
);
var shape = {
coord: [27,0,30,1,32,2,34,3,35,4,36,5,38,6,39,7,39,8,39,9,39,10,38,11,37,12,33,13,34,14,34,15,33,16,32,17,31,18,27,19,28,20,28,21,27,22,26,23,22,25,23,26,24,27,24,28,24,29,24,30,24,31,24,32,23,33,22,34,17,34,16,33,15,32,15,31,14,30,14,29,15,28,15,27,16,26,17,25,13,23,12,22,11,21,11,20,12,19,8,18,7,17,6,16,5,15,5,14,6,13,2,12,1,11,0,10,0,9,0,8,0,7,1,6,3,5,4,4,5,3,7,2,9,1,12,0,27,0],
type: 'poly'
};
// this variable will collect the html which will eventually be placed in the side_bar
var side_bar_html = "";
// arrays to hold copies of the markers and html used …Run Code Online (Sandbox Code Playgroud)