首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在自定义谷歌地图中按邮政编码添加搜索

在自定义谷歌地图中按邮政编码添加搜索
EN

Stack Overflow用户
提问于 2009-07-08 23:21:17
回答 3查看 21.6K关注 0票数 4

首先,我想说,我是这个网站的新手,从来没有使用过Google,并且对JavaScript有中级知识。

我做了什么:,我把一个定制的‘商店定位器’添加到谷歌的‘我的地图’中。然后,我创建了一个带有下拉菜单的网页,根据您从下拉菜单中选择的位置,它更改了iFrame保存地图的SRC。因此,当页面加载到更大的比例尺地图时,通过选择特定的位置,它将将地图更改为该特定位置(缩放和裁剪)。

我需要做的是:我现在需要做的就是添加一个‘按邮政编码搜索’,这将允许用户输入他们的邮政编码,让网页返回最近位置的列表,希望是他们的距离。

有没有人知道我是否能够在我的自定义谷歌地图中添加'search‘功能?

我的代码并没有太多要发布,但是如果有帮助的话,我会很乐意这样做的。我的地图的当前功能很好用,问题是我不知道从哪里开始添加邮政编码搜索。

下面是指向我所指的页面的链接:http://74.53.82.155/store-locator.htm

任何帮助都是非常感谢的。

提前谢谢你,侏儒

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-08-21 15:15:00

一种选择是使用从邮政编码返回位置的geonames web服务。下面是一个如何将web服务与dojo结合使用的快速示例。

代码语言:javascript
复制
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title></title>
        <link rel="stylesheet" type="text/css" href="layout.css">
        <script type="text/javascript">var djConfig = { parseOnLoad: true }</script>
        <script type="text/javascript" src="../dojo-release-1.3.0/dojo/dojo.js"></script>
        </script>
        <script type="text/javascript">
            dojo.require("dojo.io.script");
                function getPlace() {
        var zip = dojo.byId('zipcode').value;
        console.log('zip is ', zip);
        //use country code to get results for a specific country
        //var gn_url = 'http://ws.geonames.org/postalCodeLookupJSON?postalcode=' + zip + '&country=US';
        var gn_url = 'http://ws.geonames.org/postalCodeLookupJSON?postalcode=' + zip;
        console.log(gn_url);
        dojo.io.script.get({
          url: gn_url, 
          callbackParamName: "callback",
          load:function(response, io) { 
            console.log('got json.'); 
            console.dir(response); 
            places = response.postalcodes; 
            var infos = []
            dojo.forEach(places, function(p, i) {
                infos[i] = p.placeName + ', ' + p.adminName1 + ', Lat: ' + p.lat + '; Long: ' + p.lng + '<br />';
            });
                dojo.byId('postalCode').innerHTML = infos.join('');
          }, 
          error:errorCb
        });   
        }

        function errorCb(type, data, evt){
                debug(data);
        }
         </script>
     </head>
     <body class="tundra">
    Enter a zip code: <input id="zipcode" type="text" /> <button onclick="getPlace(); return false;" value="Find Place.">Find Place.</button>
      <div>Places:</div><div id="postalCode"></div>
    </body>
</html>
票数 3
EN

Stack Overflow用户

发布于 2009-07-13 15:15:14

我不知道有什么方法可以用你想要的方式与嵌入的谷歌地图交互。最好的选择是使用Google创建自己的地图。谷歌有一些伟大的文档示例让你开始。

票数 1
EN

Stack Overflow用户

发布于 2009-08-21 14:57:01

嘿,我也在做类似的搜索。我发现了关于所涉及的数学的相当好的讨论,以及查询和公式的链接,在这里:http://uclue.com/?xq=2861。希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1101063

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档