I try to plot data from gridview on map like this
[WebMethod]
public static string mapgriddata(string FID,string ObID)
{
try
{
string result = "";
FID = HttpContext.Current.Session["FID"].ToString();
ObID = HttpContext.Current.Session["ObID"].ToString();
Entities w = new Entities();
List(spgetdata_ffid_Result) gt = w.spgetdata_ffid(FFID).ToList();
DataTable dt = new DataTable();
dt.Columns.Add("No", typeof(string));
dt.Columns.Add("Longitude", typeof(float));
dt.Columns.Add("Latitude", typeof(float));
foreach (var t in gt)
{
dt.Rows.Add(t.No, t.Longitude, t.Latitude);
t.No = HttpContext.Current.Session["No"].ToString();
t.Latitude = Convert.ToSingle(HttpContext.Current.Session["Latitude"]);
t.Longitude = Convert.ToSingle(HttpContext.Current.Session["Longitude"]);
}
result = DataSetToJSON(dt);
return result;
}
catch (Exception)
{
throw new Exception();
}
}
What I have tried:
query
<script type="text/javascript">
$(function () {
var FID = '<%=Session["FID"]%>';
var ObID = '<%=Session["ObID"]%>';
var No = '<%=Session["No"]%>';
var longi = '<%=Session["Longitude"]%>';
var latit = '<%=Session["Latitude"]%>';
var obj = {};
obj.FID = FID;
obj.ObID = ObID;
obj.No = No;
obj.longi = longi;
obj.latit = latit;
getdata(obj);
return falase;
});
function getdata(obj) {
$.ajax({
type: "POST",
url: "home.aspx/mapgriddata",
contentType: "application/json;charset=utf-8",
data: (data.FFID, data.ObID),
datatype: "json",
async: true,
cache: false,
success: function (result) {
window.onload = function () {
alert("map2");
debugger;
var latlng = new google.maps.LatLng(24.0895898, 67.0998546);
debugger;
var mapOptions = {
center: new google.maps.LatLng(markers[0].lat, markers[0].lng),
zoom: 8,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
debugger;
var infoWindow = new google.maps.InfoWindow();
debugger;
var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
debugger;
for (i = 0; i < obj.length; i++) {
var data = obj[i]
var myLatlng = new google.maps.LatLng(obj.latlng);
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
});
debugger;
(function (marker, obj) {
google.maps.event.addListener(marker, "click", function (e) {
infoWindow.setContent(obj.FID,obj.No,obj.latit,obj.longi);
infoWindow.open(map, obj);
});
})(marker, data);
}
}
},
error: function (error) {
alert(error);
}
});
}
</script>
page load
protected void Page_Load(object sender, EventArgs e)
{ mapgriddata(Convert.ToString(Session["FID"]),Convert.ToString(Session["ObID"]));
}
}
but this show error on console
home.aspx:156 Uncaught ReferenceError: getdata is not defined