【问题标题】:gwt-maps -- dynamically change marker offsetgwt-maps -- 动态改变标记偏移
【发布时间】:2011-06-06 00:37:10
【问题描述】:

在我的网站http://www.foodtrucksmap.com/,标记大小取决于该城市开放式食品卡车的数量。问题是当洛杉矶的标记变得太大时,看起来标记的点要么在海洋中,要么在墨西哥。这可以通过简单地将标记的中心沿 y 轴偏移标记高度的一半来解决。我不知道怎么写这段代码!!

另一个(不好的)选择是将图像的高度加倍并使按钮保持半透明。这种方法的问题是图像的透明部分可以点击!

请帮我找到解决办法,谢谢!

【问题讨论】:

    标签: google-maps gwt google-maps-markers


    【解决方案1】:

    creating-custom-google-maps-overlays-with-gwt-widgets

    custom Overlay class

    由于您使用的是标记,因此链接可能无济于事。在我的应用中,我停止使用标记并开始使用客户叠加层。

    【讨论】:

      【解决方案2】:

      查看使用 javascript API 的 this 示例。

      基本上,您可以将自定义图标的锚点坐标定义为标记的中心。不要使用中间,而是使用卡车图标的底部尖端/边缘。查看“iconAnchor”属性:

      // Create a base icon for all of our markers that specifies the
      // shadow, icon dimensions, etc.
      var baseIcon = new GIcon(G_DEFAULT_ICON);
      baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
      baseIcon.iconSize = new GSize(20, 34);
      baseIcon.shadowSize = new GSize(37, 34);
      baseIcon.iconAnchor = new GPoint(9, 34); // THIS IS WHAT YOU CARE ABOUT
      baseIcon.infoWindowAnchor = new GPoint(9, 2);
      

      在您的情况下,您可以将锚值设置为:

      // Assuming the tip is exactly in the middle at the bottom of the icon
      .iconAnchor = new GPoint(iconWidth/2, 0);
      

      我没有使用您提到的 gwt-maps - 但由于它们总是包装 javascript API,您应该能够找到要设置的等效属性。你能链接到你正在使用的 gwt-maps 实现吗?

      【讨论】:

        猜你喜欢
        • 2010-12-28
        • 2012-08-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-08-18
        • 1970-01-01
        • 2011-12-22
        • 2016-12-10
        相关资源
        最近更新 更多