• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 标记未显示在 GMSPanoramaView 上

[复制链接]
菜鸟教程小白 发表于 2022-12-13 16:36:52 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我有一个简单的测试应用程序,我在其中执行以下代码

    let marker = GMSMarker(position:CLLocationCoordinate2DMake(33.987884, -118.474434))
    marker.icon = GMSMarker.markerImageWithColor(UIColor.redColor())
    marker.panoramaView = panoramaView;
    marker.snippet = "I am Here!"

    panoramaView.moveNearCoordinate(marker.position)

如果我将坐标移动到海滩外的其他街道,我可以很好地看到标记。但是从上面的代码中我什么也没看到。有谁知道为什么我可以让一个区域在 GMSPanoramaView 中正常显示,但是在那里放置一个标记不起作用?



Best Answer-推荐答案


我认为有些实现没有完成。不确定这些实现是什么,但我找到了一些关于您的问题的教程。或者根据文档“注意,如果marker的位置离panoramaView的当前全景位置太远,太小就不会显示了”。

查看Street View locations and point-of-view (POV) :

GMSPanoramaView *panoView_;
panoView_.camera = [GMSPanoramaCamera cameraWithHeading:180
                                              pitch:-10
                                               zoom:1];

街景中的标记

// Create a marker at the Eiffel Tower
CLLocationCoordinate2D position = CLLocationCoordinate2DMake(48.858,2.294);
GMSMarker *marker = [GMSMarker markerWithPosition:position];

// Add the marker to a GMSPanoramaView object named panoView_
marker.panoramaView = panoView_;

// Add the marker to a GMSMapView object named mapView_
marker.map = mapView_;

这是第一个选项,另一个选项是 WebView 内的 Google Maps JavaScript APIhttps://developers.google.com/maps/documentation/javascript/examples/streetview-overlays

var panorama;

function initMap() {
  var astorPlace = {lat: 40.729884, lng: -73.990988};

  // Set up the map
  var map = new google.maps.Map(document.getElementById('map'), {
    center: astorPlace,
    zoom: 18,
    streetViewControl: false
  });

  // Set up the markers on the map
  var cafeMarker = new google.maps.Marker({
      position: {lat: 40.730031, lng: -73.991428},
      map: map,
      icon: 'http://chart.apis.google.com/chart?chst=d_map_pin_icon&chld=cafe|FFFF00',
      title: 'Cafe'
  });

  var bankMarker = new google.maps.Marker({
      position: {lat: 40.729681, lng: -73.991138},
      map: map,
      icon: 'http://chart.apis.google.com/chart?chst=d_map_pin_icon&chld=dollar|FFFF00',
      title: 'Bank'
  });

  var busMarker = new google.maps.Marker({
      position: {lat: 40.729559, lng: -73.990741},
      map: map,
      icon: 'http://chart.apis.google.com/chart?chst=d_map_pin_icon&chld=bus|FFFF00',
      title: 'Bus Stop'
  });

  // We get the map's default panorama and set up some defaults.
  // Note that we don't yet set it visible.
  panorama = map.getStreetView();
  panorama.setPosition(astorPlace);
  panorama.setPov(/** @type {google.maps.StreetViewPov} */({
    heading: 265,
    pitch: 0
  }));
}

function toggleStreetView() {
  var toggle = panorama.getVisible();
  if (toggle == false) {
    panorama.setVisible(true);
  } else {
    panorama.setVisible(false);
  }
}

这里是教程和代码的repo链接

关于ios - 标记未显示在 GMSPanoramaView 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37304881/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap