【问题标题】:Get Place details or building names using latitude and longitude in Google Maps(Places API ?)使用谷歌地图中的纬度和经度获取地点详细信息或建筑物名称(Places API ?)
【发布时间】:2011-11-07 21:47:30
【问题描述】:

有没有人知道如何使用纬度和经度在 Google Maps Places API 下获取地点详细信息?我试过谷歌搜索解决方案,但只能找到它的反面。所以简而言之,我需要找到一个纬度/经度的地方。

在有人说使用地理定位之前,我会说首先证明一个对我来说会像在黑暗中拍摄的答案。

我已经为此搜索了几个小时,但不确定如何实现这一目标。

我已经阅读了诸如this 之类的问题。

很清楚,我有46.73069,-117.16345999999999,这将是 WSU 的“Bookie”的地方

"reference":"CmRUAAAAlgRCcYLe_HkYEFeUg9snExIKbgBTFVHTbyFkON1CTd58dH7iuJoyrPjXxWyEcoToa-Lrd7i__dpa83uGRBbrLeefEzz2hAL8pQPzx0YxHQPP4JNbrdKHW7LVUPJKwnHPEhA8PDSefSATZ6qWfT0eujRXGhRyBRL5P_vqpr7Tv7KigjgXmPJp6w"

如果您通过参考查找该地点,您就会明白这一点,但我需要通过纬度和经度才能找到匹配的地点。

【问题讨论】:

    标签: javascript google-maps


    【解决方案1】:

    您要进行反向地理编码查找:http://code.google.com/apis/maps/documentation/javascript/services.html#ReverseGeocoding

    这应该向您“证明”它:http://code.google.com/apis/maps/documentation/javascript/examples/geocoding-reverse.html 它不会在信息窗口中显示“Bookie”,但我怀疑如果您使用结果 [0] 而不是结果 [1],那可能有公司名称.你对你在这里想要做什么有点模糊;一旦你有了详细信息,你将如何处理它们?您具体需要哪些详细信息?

    【讨论】:

      【解决方案2】:

      好吧,对不起,我在这里的价值超过了一个 cmets..

      所以交易是你只是得到地址..这不是一个地方条目。请参阅此处是该问题的示例。如果您在此处使用本地搜索 http://gmaps-samples-v3.googlecode.com/svn/trunk/localsearch/places.html 并现在输入“pullman cue”,您将获得该地点,但如果您使用新地点 http://code.google.com/apis/maps/documentation/javascript/examples/places-autocomplete.html,您将无法找到同一个地点。更糟糕的是,您可以通过引用调用可以调用的地方,这很奇怪,使其成为“地方,但不能保证在不同搜索中为任何给定地方返回相同的令牌”并且能够通过它调用,但在您不能通过“它可用于合并有关此地点的数据,并在不同的搜索中验证地点的身份”调用的 ID,如此处所示 http://code.google.com/apis/maps/documentation/javascript/examples/place-search.html .. 所以.. 交易是我需要在不使用折旧 api 的情况下放置“pullman cue”。

      我只是想通过一些容易重复做的事情来获得一席之地.. idk

      【讨论】:

        【解决方案3】:

        好吧,我已经向前迈进了,再次渴望 cmets 而不是额外的信息类型帖子,所以这里是到目前为止的发现。

                    var loca = new google.maps.LatLng(46.729757182529895,-117.1616792678833);
                    var requested = {
                      location: loca,
                      radius:.1//,
                      //keyword:"library"//,
                      //types : ['establishment']
        
                    };
                    var service = new google.maps.places.PlacesService(map);
                    service.search(requested, function(results, status){if (status == google.maps.places.PlacesServiceStatus.OK) {
        
                alert(JSON.stringify(results));
        
              for (var i = 0; i < 1; i++) {
        
                var request = {reference:results[i].reference};
        
                var service = new google.maps.places.PlacesService(map);
                //service.search(request, serach_callback);
                service.getDetails(request, function(place, status) {
                  if (status == google.maps.places.PlacesServiceStatus.OK) {
                      alert(JSON.stringify(place));
                    var marker = markers[0];
        
        
        
                    google.maps.event.addListener(marker, 'click', function() {
                        ib.close();
                      ib.setContent(setBoxHtml(JSON.stringify(place)));
                      ib.open(map, this);
                    });
                  }
                });
                //createMarked(results[i]);
              }
            }});
        

        确实给我一个地方,但它是路线,仅此而已。我想我必须给出一个关键词或类型才能得到其他任何东西。肯定是跛脚。问题是它甚至不正确的地方是什么。如果我在同一纬度和经度下使用类型或关键字大学,我认为我会得到具有这些类型“大学”的地方,我可以使用http://www.google.com/mapmaker 来证明该地方确实有该集。它确实如此。但我得到的结果是隔壁的博物馆,而不是应该出现的“CUE”。

        这里有一些缺陷,因为这不仅在如何调用一个地方,而且在如何判断哪些地方(没有类型或关键字)在你的位置附近是非常不可预测的。更重要的是,您不在文档中的半径似乎确实有一个最小值,例如 10(我认为),因为 1 米应该只拾取它的 slef,但它会拾取至少 25 米以外的东西。

        为什么我不能只通过 ID 来呼叫一个地点,我为什么不能以经纬度的半径获取所有地点?必须有一些简单的原因,因为我拒绝认为谷歌的地图 api 开发人员错过了整个事情的吻。

        有什么想法吗? 谢谢-杰里米

        【讨论】:

          猜你喜欢
          • 2016-08-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-09-25
          • 2018-11-07
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多