閑下來可以總結(jié)總結(jié)項(xiàng)目中的一些難點(diǎn)。
下面說下移動(dòng)標(biāo)注改變相應(yīng)的overlay的方法:
1、首先你要自行解決百度地圖的搭建。讓hello baiduMap正確顯示即可。
2、我們?cè)? (void)mapView:(BMKMapView*)mapView onClickedMapBlank:(CLLocationCoordinate2D)coordinate;這個(gè)代理方法里獲取點(diǎn)擊地圖生成標(biāo)注。
3、在- (BMKOverlayView*)mapView:(BMKMapView*)mapView viewForOverlay:(id)overlay;這個(gè)代理方法里根據(jù)標(biāo)注來生成view。(我的Demo里只允許設(shè)置4個(gè)點(diǎn),生成view)
4、通過- (void)mapView:(BMKMapView*)mapView annotationView:(BMKAnnotationView*)view didChangeDragState:(BMKAnnotationViewDragState)newState
fromOldState:(BMKAnnotationViewDragState)oldState這個(gè)代理方法獲得移動(dòng)標(biāo)注時(shí)標(biāo)注的coordinate。
5、我們通過
/**
*設(shè)置標(biāo)注的坐標(biāo),在拖拽時(shí)會(huì)被調(diào)用.
*@param newCoordinate新的坐標(biāo)值
*/
- (void)setCoordinate:(CLLocationCoordinate2D)newCoordinate;
此方法改變已有的標(biāo)注的coordinate。
6、當(dāng)我們移動(dòng)標(biāo)注時(shí),不停的畫overlay,同時(shí)刪除上一次的overlay。即能達(dá)到效果