脚本宝典收集整理的这篇文章主要介绍了php – jquery-gmap yii,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
但是当使用$marker-> capturePosition时,$gmap-> updateMarkerAddressFromModel无效,否则$gmap-> updateMarkerAddressFromModel在单独使用时工作正常.
我的代码
<?PHP Yii::import('ext.jquery-gmap.*'); $gmap = new EGmap3Widget(); $gmap->setSize(400,234); // base options $options = array( 'scaleControl' => true,'zoom' => 15,'center' => array(0,0),'mapTypeId' => EGmap3MapTypeId::ROADMAP,'mapTypeControlOptions' => array( 'style' => EGmap3MapTypeControlStyle::DROPDOWN_MENU,'position' => EGmap3ControlPosition::TOP_CENTER,),); $gmap->setOptions($options); // marker with custom icon $marker = new EGmap3Marker(array( 'draggable' => true,)); $marker->address = 'London'; $marker->capturePosition( // the model object $businessModel,// model's latitude property name 'lat',// model's longitude property name 'longi',array('drag') ); // tell the gmap to update the marker from the model fields. $gmap->updateMarkerAddressFromModel( // the model object $businessModel,array('street','town','country'),array('zoom'=>16) ); $marker->centerOnMap(); $gmap->add($marker); $gmap->renderMap(); ?>
因此,在将模型传递给视图之前,您需要添加
$businessModel = new BusinessModel()我假设这是你的类的名称以及它的引用.我再次假设模型类定义了正确的成员,即lat和long,稍后您将使用它.
看一下下面的例子:我们使用一个带有3个公共成员的地址,纬度,经度和缩放级别的示例
From the jquery-gmap plugin documentation:
class Address extends CActiveRecord { public $latitude; public $longitude; public $mapZoomLevel; public function rules() { return array( array('latitude,longitude','numerical'),array('mapZoomLevel','numerical','integerOnly'=>true),); } }
// init the model (usually passed to view) $address = new Address(); // init the map $gmap = new EGmap3Widget(); $gmap->setOptions(array('zoom' => 14)); // create the marker $marker = new EGmap3Marker(array( 'title' => 'Draggable address marker','draggable' => true,)); $marker->address = '10 Downing St,Westminster,London SW1A 2,UK'; $marker->centerOnMap(); // set the marker to relay its position information a model $marker->capturePosition( // the model object $address,// model's latitude property name 'latitude',// model's longitude property name 'longitude',// Options set : // show the fields,defaults to hidden fields // update the fields during the marker drag event array('visible','drag') ); $gmap->add($marker); // Capture the map's zoom level,by default generates a hidden field // for passing the value through POST $gmap->map->captureZoom( // model object $address,// model attribute 'mapZoomLevel',// whether to auto generate the field true,// HTML options to pass to the field array('class' => 'myCustomClass'),); $gmap->renderMap();
以上是脚本宝典为你收集整理的php – jquery-gmap yii全部内容,希望文章能够帮你解决php – jquery-gmap yii所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。