通过在apex oracle中单击表单(iframe)打开链接 [英] Open a link by clicking in form (iframe) in apex oracle
问题描述
这是该主题的第二个问题)我有一个电子表格,其中有位置.我想单击Oracle顶点表中的链接以打开一个表单(模式),在该表单中将有一个框架,这些地图上的点位于这些坐标处.我已经获得了代码方面的帮助,但是它在新页面上向我打开了地图(这很好,但是不方便),我希望以表单的形式打开地图!我将感谢您的帮助).但是由于我不懂Java脚本,所以我不得不寻求帮助
this is the second question on this topic) I have a spreadsheet where there is location. I want to click on a link in the apex table of Oracle to open a form (modal) in which there would be a frame with a point on the map at these coordinates. I have already been helped with the code, but it opens the map to me on a new page (this is good, but not convenient) I want the map to be opened in the form! I will be grateful for your help) . But since I do not understand in java script, I have to ask for help
with your_table (id, x, y) as
(select 1, 45.13, 16.38 from dual union all
select 2, 46.18, 15.87 from dual
)
select
id, x, y,
--
'<a href=http://maps.google.com/maps?q=' ||
translate(y, ',', '.') || '+' ||
translate(x, ',', '.') ||
' target="_blank">Display</a>'
as display_link
from your_table
推荐答案
一个选择是创建一个PL/SQL动态内容类型区域,该区域是一个(存储的)PL/SQL.结果-运行(c1)个调用的次数[c1>,该操作绘制"了屏幕上的内容.
As I said in a comment in your previous question, one option is to create a PL/SQL Dynamic Content type region which is a (stored) PL/SQL procedure that - as the result - runs (number of) HTP.PRN
calls which "draw" the content on the screen.
您需要页面HTML标头
As page HTML header, you need
<script
src="http://maps.googleapis.com/maps/api/js?sensor=false"
type="text/javascript"
>
</script>
而过程本身必须创建如下所示的内容:
while the procedure itself has to create something that looks like this:
<script type="text/javascript">
function initialize()
{
var mapOptions =
{
center: new google.maps.LatLng(45.67, 16.78),
zoom: 15,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
var image =
{
url: 'http://maps.google.com/mapfiles/kml/paddle/red-circle-lv.png',
size: new google.maps.Size(20, 20)
};
var geocoder = new google.maps.LatLng(45.67, 16.78);
var marker = new google.maps.Marker
({
position: geocoder,
map: map,
icon: {
path: google.maps.SymbolPath.CIRCLE,
strokeColor: "<<PAR_COLOR>>",
scale: 3
},
title:"my_title"
});
var flightPlanCoordinates = [
];
var flightPath = new google.maps.Polyline
({
path: flightPlanCoordinates,
geodesic: true,
strokeColor: '#FF0000',
strokeOpacity: 1.0,
strokeWeight: 1
});
flightPath.setMap(map);
};
</script>
<body onload="initialize()" style="font-family: Arial; border: 0">
<div id="map-canvas" style="height: 600px; width: 800px"></div>
</body>
我建议您创建一个包含代码的不同部分的表,并分块地创建 ,将一个表连接到另一个表上.根据您显示的内容,某些部分可能需要循环.
I'd suggest you to create a table which contains separate parts of code and create it in chunks, concatenating one onto another. Depending on what you're displaying, certain parts might require a loop.
阅读此示例中写的内容;您会找到各种Google API内容的参考,以便您研究如何精确地做到这一点.
Read what's written in this example; you'll find references to various Google API stuff so that you could research how to exactly do that.
这篇关于通过在apex oracle中单击表单(iframe)打开链接的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!