当前位置: 首页 > 知识库问答 >
问题:

绑定google地图

夹谷星河
2023-03-14

我的谷歌地图API地图缩放显示谷歌搜索后添加的所有标记。在移动地图上,这可能需要一点时间来加载,作为这个骑自行车的应用程序,我更喜欢只显示视口内的结果。我阅读的大多数研究表明,不可能只在视图端口内返回结果。我是否可以在添加标记后保持地图边界不变?如果它只向我显示添加到当前边界的标记,那就太好了,除非只返回一个标记,然后它应该缩放到该标记。因此,搜索像比萨饼这样的一般东西会在当前视口中显示许多比萨饼位置,而无需平移或缩放。搜索特定地址将缩放到该标记,即使它在视口之外。

 var input = document.getElementById('target');
 var searchBox = new google.maps.places.SearchBox(input);
 var bounds = map.getBounds();
 searchBox.setBounds(bounds);
 var markers = [];
 service = new google.maps.places.PlacesService(map);

 google.maps.event.addListener(searchBox, 'places_changed', function() {
     var places = searchBox.getPlaces();
     // alert("getPlaces returns "+places.length+" places");

     for (var i = 0; i < gmarkers.length; i++) {
       gmarkers[i].setMap(null);
     }

     gmarkers = [];
     var bounds = new google.maps.LatLngBounds();

     for (var i = 0, place; place = places[i]; i++) {
       var place = places[i];
       createMarker(place);
       bounds.extend(place.geometry.location);
     }
     map.fitBounds(bounds);
     // if (markers.length == 1) map.setZoom(17);
   });

   google.maps.event.addListener(map, 'bounds_changed', function() {
     var bounds = map.getBounds();
     searchBox.setBounds(bounds);
   });

   ib = new InfoBox({});

共有1个答案

司徒炎彬
2023-03-14

你问题的答案是:

  • 添加标记后,我是否可以保持地图边界不变

是的,是的。正如你所说,包括移除地图。fitBounds。

要使地图居中并在单个地址上缩放,可以使用地理编码器(单独实现),也可以检查结果的数量,如果结果是一个,则将地图居中于结果上,如果结果中有建议的视口,则使用它来居中并缩放地图[我认为使用map.fitBounds(place.geometry.viewport))。

 类似资料:
  • 由于绑定是在绑定模块中定义的,Google Guice 会在需要注入依赖项时使用它们。如果不存在绑定,它可以尝试创建即时绑定。绑定模块中存在的绑定称为显式绑定并且具有更高的优先级,而即时绑定称为隐式绑定。如果两种类型的绑定都存在,则考虑使用显式绑定进行映射。 以下是三种类型的即时绑定的示例。 绑定类型 描述 可注入的构造函数 非私有、无参数构造函数有资格进行即时绑定。另一种方法是使用@Inject

  • 主要内容:Google Guice 内置绑定 示例,输出Google Guice 为java.util.logging.Logger类提供了内置绑定。Logger 的名称会自动设置为注入 Logger 的类的名称。请参阅下面的示例。 Google Guice 内置绑定 示例 创建一个名为 GuiceTester 的 Java 类。 GuiceTester.java 输出 编译并运行该文件,您将看到以下输出。

  • 主要内容:使用@Named 注解注入,Google Guice 常量绑定 完整示例,输出Guice 提供了一种使用值对象或常量创建绑定的方法。下面例子以配置 JDBC URL 为例。 使用@Named 注解注入 这可以使用 toInstance() 方法来实现。 Google Guice 常量绑定 完整示例 创建一个名为 GuiceTester 的 Java 类。 GuiceTester.java 输出 编译并运行该文件,您将看到以下输出。

  • 主要内容:Google Guice 链接绑定 完整示例,输出在链接绑定中,Guice 将类型映射到其实现。在下面的示例中,我们将 SpellChecker 接口与其实现 SpellCheckerImpl 进行了映射。 我们还可以将具体类映射到它的子类。请参阅以下示例: 在这里,我们链接了绑定。让我们在完整示例中查看结果。 Google Guice 链接绑定 完整示例 创建一个名为 GuiceTester 的 Java 类。 GuiceTester.java

  • 主要内容:Google Guice 构造方法绑定 完整示例,输出Google Guice 提供了一种使用 toConstructor() 方法创建与对象的特定构造函数的绑定的方法。 请参阅下面的完整示例。 Google Guice 构造方法绑定 完整示例 创建一个名为 GuiceTester 的 Java 类。 GuiceTester.java 输出 编译并运行该文件,您将看到以下输出。

  • 本教程将介绍如何配置Apache以监听指定地址和端口。 当Apache启动时,它会绑定到本地计算机上的某个端口和地址,并等待传入的请求。默认情况下,它会监听计算机上的所有地址。但是,可能需要告知监听特定端口,或仅监听选定地址,或两者的组合。这通常与虚拟主机功能结合使用,后者确定Apache如何响应不同的IP地址,主机名和端口。 指令告诉服务器仅接受指定端口或地址和端口组合的传入请求。如果在指令中仅