function addDoctorLocation(lat,longt)
{
var myLatlng = new google.maps.LatLng(parseFloat(lat), parseFloat(longt));
var myOptions = {
zoom: 10,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
//var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
var marker = new google.maps.Marker({
position: myLatlng,
title:"Hello World!"
});
// To add the marker to the map, call setMap();
var map = Ext.getCmp('mygooglemap');
marker.setMap(map);
}
var btn= Ext.getCmp('button');
btn.on('onclick', function(){
addDoctorLocation(3.951941,102.052002);
})
mygooglemapはGMappanelであり
、ボタンをクリックすると、gmappanelは座標付きのマーカーを追加します3.951941,102.052002
か?このコードを試しましたが、それでも機能しませんか?
アップデート
チェックボックスはどうですか?
tree.on('checkchange', function(node){
var data = node.data;
if (data.checked = true){
var options = {
lat:3.951941,
lng:-102.052002,
marker: {title:"Hello World!"},
listeners: {
click: function(e){
}
}
}
addDoctorLocation(options);
}
})
マップの作成
var layout = Ext.create('Ext.panel.Panel', {
//renderTo: 'layout',
width: window.innerWidth,
height: window.innerHeight,
//title: 'Border Layout', //no title will be blank
layout: 'border',
items: [{
title: 'Message List',
region: 'south', // position for region
xtype: 'panel',
height: 100,
split: true, // enable resizing
collapsible: true,
margins: '0 5 5 5',
collapsed: true
},tree,{
xtype: 'gmappanel',
id : 'mygooglemap',
gmapType: 'map',
zoomLevel: 7,
mapConfOpts: ['enableScrollWheelZoom','enableDoubleClickZoom','enableDragging'],
mapControls: ['GSmallMapControl','GMapTypeControl','NonExistantControl'],
setCenter: {
lat: 3.951941,
lng: 102.052002,
}
}],
renderTo: Ext.getBody() //get the body and display Layout at there
});
});
fireBugをチェックした後、エラーは次のとおりです。
ReferenceError: GLatLng is not defined
[Break On This Error]
var mpoint = new GLatLng(options.lat,options.lng);
私は以下のようにコードを編集しました、うまくいきます
function addDoctorLocation(options)
{
var gm = Ext.getCmp('mygooglemap');
var mpoint = new google.maps.LatLng(options.lat,options.lng);
gm.addMarker(mpoint,options.marker,false,false, options.listeners);
}