- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个简单的测试应用程序,我在其中执行以下代码
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 中正常显示,但是在那里放置一个标记却不起作用?
最佳答案
我认为有些实现没有完成。不确定这些实现是什么,但我找到了一些关于您的问题的教程。或者根据文档“请注意,如果标记的位置距离 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 API
。 https://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/
我在 KMZ 文件中有一个坐标数据集,我希望能够为用户提供使用 GMSPanoramaView(使用 1.6.0 版本的 Google-Maps-iOS-SDK)查看街景的选项).这是我的代码的样子:
我正在创建一个在街景 View 中显示不同位置的应用程序。但是每次加载新的地方时,使用的内存都会增加。这稍后会导致应用程序崩溃。有没有办法清除过去加载的街景的内存? The memory goes u
我有一个简单的测试应用程序,我在其中执行以下代码 let marker = GMSMarker(position:CLLocationCoordinate2DMake(33.987884, -
我有一个简单的GMSPanoramaView,我想在它上面添加一个UIView,我尝试过使用addSubview并更改图层zposition,但我没有出现。关于如何做到这一点有什么想法吗? 我实现 G
对于我的应用程序,我需要从 GPS 坐标获取 Google 街景图像。我知道如何从坐标获取全屏 GMSPanoramaView,但我最终需要它是 UIImage。 let panoVi
我的 View 中有一个 GMSPanoramaView,单击 GMSPanoramaView 我想执行一些操作。 我如何识别 GMSPanoramaView 上的任何触摸/点击事件。 最佳答案 您可
我已将 GMSMarker 添加到 GMSPanoramaView。查看 map 时,我正在尝试更新位置属性。但是,它似乎没有更新 map 以反射(reflect)新位置。有人知道这在 GMSPano
我在我的应用程序中使用谷歌地图 SDK 中的街景 API。要求是显示街景并禁用手势控制。我已将此代码添加到我的应用程序 GMSPanoramaView *panoView = [[GMSPan
我收到此错误: This application has been blocked by the Google Maps API. This might be because of an incorr
我正在尝试将 GMSPanoramaView 添加到 SubView。这是我正在处理的代码: panoView_ = [[GMSPanoramaView alloc] initWithFrame:CG
我是一名优秀的程序员,十分优秀!