单击标记图标时,Google地图导航

时间:2018-11-27 07:14:04

标签: ios objective-c google-maps

当用户使用Google地图点击标记图标时,我必须将页面从一个视图控制器导航到另一个视图控制器。

3 个答案:

答案 0 :(得分:0)

我们必须在其中放置一个代表

GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:yourFloat longitude:yourFloat1 zoom:15];

mapView = [GMSMapView mapWithFrame:self.view.frame camera:camera];

mapView.delegate = self;

self.view = mapView;

虽然此时仅提供框架视图视图,但我们必须调用委托方法。

答案 1 :(得分:-1)

设置from pyface.qt import QtGui, QtCore import sys global X,Y class ScanView(QtGui.QGraphicsView): def __init__(self,X=5, Y=5, parent=None): super(ScanView, self).__init__(parent) self.row = X self.cols = Y self.squareLB = 50 self.width = Y*self.squareLB+2*self.squareLB self.height = X*self.squareLB+2*self.squareLB self.List = [] if self.width>708: self.scene = QtGui.QGraphicsScene(0,0,self.width,self.height) for i in range(self.row): for j in range(self.cols): item = self.scene.addRect(QtCore.QRectF(0,0,self.squareLB,self.squareLB)) item.setPos(self.squareLB+j*self.squareLB, X*self.squareLB-(i*self.squareLB)) self.List.append(item) else: self.scene = QtGui.QGraphicsScene(0,0,708,self.height) self.marginLR = (708.0-Y*self.squareLB)/2.0 for i in range(self.row): for j in range(self.cols): item = self.scene.addRect(QtCore.QRectF(0,0,self.squareLB,self.squareLB)) item.setPos(self.marginLR+j*self.squareLB, X*self.squareLB-(i*self.squareLB)) self.List.append(item) self.setScene(self.scene) class Settings(QtGui.QMainWindow): def __init__(self, parent=None): super(Settings, self).__init__(parent) spacer = QtGui.QWidget(self) spacer.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) QtGui.QToolTip.setFont(QtGui.QFont('SansSerif', 10)) self.vbox = QtGui.QVBoxLayout() self.save = QtGui.QPushButton("save") self.open= QtGui.QPushButton("open") self.folder= QtGui.QPushButton("Folder") self.folder.clicked.connect(self.showSettings) self.vbox.addWidget(self.save) self.vbox.addWidget(self.open) self.vbox.addWidget(self.folder) self.grid = QtGui.QGridLayout() self.grid.addLayout(self.vbox,0,0) self.scrollArea = QtGui.QScrollArea() self.scrollArea.setBackgroundRole(QtGui.QPalette.Light) self.scrollArea.setWidgetResizable(True) self.grid.addWidget(self.scrollArea,0,1) self.setCentralWidget(QtGui.QWidget(self)) self.centralWidget().setLayout(self.grid) self.setGeometry(200,100,300,300) self.show() def showSettings(self): self.MyView = ScanView(5,5) self.vbox2 = QtGui.QVBoxLayout() self.Scanbtn1 = QtGui.QPushButton(("click")) self.Scanbtn1.clicked.connect(self.on_clicked) self.vbox2.addWidget(self.Scanbtn1) self.newwidget = QtGui.QWidget() self.glayout = QtGui.QGridLayout(self.newwidget) self.glayout.addWidget(self.MyView,0,0) self.Sw = QtGui.QWidget() self.Sw.setLayout(self.vbox2) # self.Sw.setFixedWidth(width - self.scrollArea.viewport().width()) self.glayout.addWidget(self.Sw,0,1) self.scrollArea.setWidget(self.newwidget) def on_clicked(self): print "hellloooooo" filename1 = "./img/tick.png" pixmap = QtGui.QPixmap(filename1) if not pixmap.isNull(): self.MyView.add_pixmap(pixmap) # pic = QtGui.QPixmap("./img/tick.png") # scene.addItem(QtGui.QGraphicsPixmapItem(pic)) # # view = self.gv # self.MyView.setScene(scene) # self.MyView.setRenderHint(QtGui.QPainter.Antialiasing) # self.MyView.show() def main(): app = QtGui.QApplication(sys.argv) ex = Settings() sys.exit(app.exec_()) if __name__ == '__main__': main() ,然后使用-

mapView.delegate = self

有关Objective-C方法,请参阅- Protocol Reference

答案 2 :(得分:-1)

您可以使用此功能,请记住返回false ,否则将不起作用。

   func mapView(_ mapView: GMSMapView, didTap marker: GMSMarker) -> Bool {

     return false
   }