gpt4 book ai didi

google-maps - egmap Google Maps Yii 未将数据保存到数据库

转载 作者:行者123 更新时间:2023-12-04 06:03:17 24 4
gpt4 key购买 nike

我在 Yii 应用程序中使用 egmaps 扩展,这是一个非常出色的应用程序。我如何在填充数据库时遇到问题。我的数据库表酒店有 long 和 lat 两个属性。我不是 AJAX 专家,但我认为 ajax 正在调用 Controller 方法。目前我没有任何控制方法,因为我不知道什么数据会来,怎么来?

到目前为止我的代码是但我认为这个 AJAX 没有调用 Controller SaveCoordinates 操作

 $gMap->zoom = 6;
$mapTypeControlOptions = array(
'position' => EGMapControlPosition::RIGHT_TOP,
'style' => EGMap::MAPTYPECONTROL_STYLE_HORIZONTAL_BAR
);

$gMap->mapTypeId = EGMap::TYPE_ROADMAP;
$gMap->mapTypeControlOptions = $mapTypeControlOptions;

// Preparing InfoWindow with information about our marker.
$info_window_a = new EGMapInfoWindow("<div class='gmaps-label' style='color: #000;'>Hi! I'm your marker!</div>");

// Setting up an icon for marker.
$icon = new EGMapMarkerImage("http://google-maps-icons.googlecode.com/files/car.png");

$icon->setSize(32, 37);
$icon->setAnchor(16, 16.5);
$icon->setOrigin(0, 0);

// Saving coordinates after user dragged our marker.
$dragevent = new EGMapEvent('dragend', 'function (event) { $.ajax({
type:"POST",
url:"'.$this->createUrl('hotel/savecoords').'/'.$model->id.'",
data:({lat: event.latLng.lat(), lng: event.latLng.lng()}),

cache:false,
});}', false, EGMapEvent::TYPE_EVENT_DEFAULT);
if($model->long)
{
// If we have already created marker - show it
$marker = new EGMapMarker($model->lat, $model->long, array('title' => Yii::t('catalog', $model->name),
'icon'=>$icon, 'draggable'=>true), 'marker', array('dragevent'=>$dragevent));
$marker->addHtmlInfoWindow($info_window_a);
$gMap->addMarker($marker);
$gMap->setCenter($model->lat, $model->long);
$gMap->zoom = 16;
}
else
{
// Setting up new event for user click on map, so marker will be created on place and respectful event added.
$gMap->addEvent(new EGMapEvent('click',
'function (event) {var marker = new google.maps.Marker({position: event.latLng, map: '.$gMap->getJsName().
', draggable: true, icon: '.$icon->toJs().'}); '.$gMap->getJsName().
'.setCenter(event.latLng); var dragevent = '.$dragevent->toJs('marker').
'; $.ajax({'.
'"type":"POST",'.
'"url":"'.$this->createUrl('hotel/savecoords')."/".$model->id.'",'.
'"data":({"lat": event.latLng.lat(), "lng": event.latLng.lng()}),'.
'"cache":false,'.
'}); }', false, EGMapEvent::TYPE_EVENT_DEFAULT_ONCE));
}
$gMap->renderMap(array(), Yii::app()->language);

最佳答案

我使用了 POST,它有效。也许在您的模型规则中未指定参数?

关于google-maps - egmap Google Maps Yii 未将数据保存到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8681213/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com